namespace Editor.MapEditor; public abstract class EditorContext { /// /// The current entity we're rendering gizmos for /// public virtual EntityObject Target { get; internal set; } /// /// If the current entity we're drawing selected /// public virtual bool IsSelected { get; internal set; } /// /// All selected entities /// public HashSet Selection { get; internal set; } /// /// Given a string name return the first found target /// public virtual EntityObject FindTarget( string name ) => null; /// /// Given a string name return all found targets /// public virtual EntityObject[] FindTargets( string name ) => null; public abstract class EntityObject : SerializedObject { public abstract Transform Transform { get; set; } public abstract Vector3 Position { get; set; } public abstract Angles Angles { get; set; } public abstract Vector3 Scale { get; set; } } }