### Summary Adds Advanced Search (XmlFind) using `[AS` command. Notable differences from XmlFind: * No save to file. * No "Display from" option (might add that later). * No advanced XmlSpawner property test syntax. Only basic property operator comparisons. * This version will freeze your shard, but fans out to all processors just like world saves. (So it should be stupid fast, especially if you have lots of cores) * Does not support spawn entry/type/error searching. We have a spawn search command to do that already. * I haven't set up correct "defaults" for the options when you first open it. I'll do that later. ### Screenshots <img width="575" alt="image" src="https://github.com/modernuo/ModernUO/assets/3953314/2b08e586-0ea6-41c4-b7cd-f70e2ee62b86"> <img width="575" alt="image" src="https://github.com/modernuo/ModernUO/assets/3953314/da3f16b9-6a9e-4d2c-9d93-6cdfa67b4ddc"> <img width="572" alt="image" src="https://github.com/modernuo/ModernUO/assets/3953314/ae1d0a3f-a30d-497c-99ea-2cc988147f8f">
39 lines
740 B
C#
39 lines
740 B
C#
using System;
|
|
|
|
namespace Server.Engines.AdvancedSearch;
|
|
|
|
public record AdvancedSearchResult(string Name, Type Type, Point3D Location, Map Map, IEntity Parent)
|
|
{
|
|
public IEntity Entity { get; set; }
|
|
public bool Selected { get; set; }
|
|
|
|
public Point3D GetLocation()
|
|
{
|
|
if (Parent?.Deleted == false)
|
|
{
|
|
return Parent.Location;
|
|
}
|
|
|
|
if (Entity?.Deleted == false)
|
|
{
|
|
return Entity.Location;
|
|
}
|
|
|
|
return Location;
|
|
}
|
|
|
|
public Map GetMap()
|
|
{
|
|
if (Parent?.Deleted == false)
|
|
{
|
|
return Parent.Map;
|
|
}
|
|
|
|
if (Entity?.Deleted == false)
|
|
{
|
|
return Entity.Map;
|
|
}
|
|
|
|
return Map;
|
|
}
|
|
}
|