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
}
}