using System; namespace DCFApixels.DragonECS { public interface IEcsReadonlyTable { #region Properties /// Table Archetype public Type ArchetypeType { get; } internal int Count { get; } internal int Capacity { get; } #endregion #region Methods public ReadOnlySpan GetAllPools(); public int GetComponentID(); public EcsPool GetPool() where T : struct; public bool IsMaskCompatible(int entity) where TInc : struct, IInc; public bool IsMaskCompatible(int entity) where TInc : struct, IInc where TExc : struct, IExc; public bool IsMaskCompatible(EcsComponentMask mask, int entity); public bool IsMaskCompatibleWithout(EcsComponentMask mask, int entity, int otherPoolID); #endregion #region Internal Methods internal void OnEntityComponentAdded(int entityID, int changedPoolID); internal void OnEntityComponentRemoved(int entityID, int changedPoolID); internal void RegisterGroup(EcsGroup group); #endregion } }