mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-19 02:24:37 +08:00
add EntitesMatrix
This commit is contained in:
parent
2d64b3088a
commit
ed698fbbd8
@ -45,4 +45,42 @@ namespace DCFApixels.DragonECS.UncheckedCore
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public readonly struct EntitesMatrix
|
||||||
|
{
|
||||||
|
private readonly EcsWorld _world;
|
||||||
|
public EntitesMatrix(EcsWorld world)
|
||||||
|
{
|
||||||
|
_world = world;
|
||||||
|
}
|
||||||
|
public int PoolsCount
|
||||||
|
{
|
||||||
|
get { return _world.PoolsCount; }
|
||||||
|
}
|
||||||
|
public int EntitesCount
|
||||||
|
{
|
||||||
|
get { return _world.Capacity; }
|
||||||
|
}
|
||||||
|
public int GetEntityComponentsCount(int entityID)
|
||||||
|
{
|
||||||
|
return _world.GetComponentsCount(entityID);
|
||||||
|
}
|
||||||
|
public int GetEntityGen(int entityID)
|
||||||
|
{
|
||||||
|
return _world.GetGen(entityID);
|
||||||
|
}
|
||||||
|
public bool IsEntityUsed(int entityID)
|
||||||
|
{
|
||||||
|
return _world.IsUsed(entityID);
|
||||||
|
}
|
||||||
|
public bool this[int entityID, int poolID]
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
int entityStartChunkIndex = entityID << _world._entityComponentMaskLengthBitShift;
|
||||||
|
var chunkInfo = EcsMaskChunck.FromID(poolID);
|
||||||
|
return (_world._entityComponentMasks[entityStartChunkIndex + chunkInfo.chunkIndex] & chunkInfo.mask) != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user