using Robust.Shared.GameObjects; using Robust.Shared.Physics; namespace Robust.Shared.ComponentTrees; public interface IComponentTreeComponent where TComp : Component, IComponentTreeEntry { public DynamicTree> Tree { get; set; } } /// /// Interface that must be implemented by components that can be stored on component trees. /// public interface IComponentTreeEntry where TComp : Component { /// /// The tree that the component is currently stored on. /// public EntityUid? TreeUid { get; set; } /// /// The tree that the component is currently stored on. /// public DynamicTree>? Tree { get; set; } /// /// Whether the component should currently be added to a tree. /// public bool AddToTree { get; } public bool TreeUpdateQueued { get; set; } }