mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 01:44:35 +08:00
TODO solving
This commit is contained in:
parent
c64ffe41f0
commit
9708b29020
@ -204,11 +204,11 @@ namespace DCFApixels.DragonECS
|
|||||||
{
|
{
|
||||||
return world.GetFreeGroup();
|
return world.GetFreeGroup();
|
||||||
}
|
}
|
||||||
internal EcsGroup(EcsWorld world, int denseCapacity = 64)
|
internal EcsGroup(EcsWorld world, int denseCapacity)
|
||||||
{
|
{
|
||||||
_source = world;
|
_source = world;
|
||||||
_source.RegisterGroup(this);
|
_source.RegisterGroup(this);
|
||||||
_dense = new int[denseCapacity]; //TODO добавить в конфиг мира значение
|
_dense = new int[denseCapacity];
|
||||||
_sparse = new int[world.Capacity];
|
_sparse = new int[world.Capacity];
|
||||||
}
|
}
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
|
@ -129,6 +129,20 @@ namespace DCFApixels.DragonECS
|
|||||||
// return self.GetOrDefault(RECYCLED_ENTITIES_CAPACITY, self.Get_EntitiesCapacity() / 2);
|
// return self.GetOrDefault(RECYCLED_ENTITIES_CAPACITY, self.Get_EntitiesCapacity() / 2);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
private const string GROUP_CAPACITY = nameof(GROUP_CAPACITY);
|
||||||
|
private const int GROUP_CAPACITY_DEFAULT = 512;
|
||||||
|
public static TConfig Set_GroupCapacity<TConfig>(this TConfig self, int value)
|
||||||
|
where TConfig : IEcsWorldConfigWriter
|
||||||
|
{
|
||||||
|
self.Set(GROUP_CAPACITY, value);
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
public static int Get_GroupCapacity(this IEcsWorldConfig self)
|
||||||
|
{
|
||||||
|
return self.GetOrDefault(GROUP_CAPACITY, GROUP_CAPACITY_DEFAULT);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private const string POOLS_CAPACITY = nameof(POOLS_CAPACITY);
|
private const string POOLS_CAPACITY = nameof(POOLS_CAPACITY);
|
||||||
private const int POOLS_CAPACITY_DEFAULT = 512;
|
private const int POOLS_CAPACITY_DEFAULT = 512;
|
||||||
public static TConfig Set_PoolsCapacity<TConfig>(this TConfig self, int value)
|
public static TConfig Set_PoolsCapacity<TConfig>(this TConfig self, int value)
|
||||||
|
@ -93,15 +93,15 @@ namespace DCFApixels.DragonECS
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Checks
|
#region Checks
|
||||||
public bool IsSubmaskOf(EcsMask otherMask) //TODO протестить
|
public bool IsSubmaskOf(EcsMask otherMask)
|
||||||
{
|
{
|
||||||
return IsSubmask(otherMask, this);
|
return IsSubmask(otherMask, this);
|
||||||
}
|
}
|
||||||
public bool IsSupermaskOf(EcsMask otherMask) //TODO протестить
|
public bool IsSupermaskOf(EcsMask otherMask)
|
||||||
{
|
{
|
||||||
return IsSubmask(this, otherMask);
|
return IsSubmask(this, otherMask);
|
||||||
}
|
}
|
||||||
public bool IsConflictWith(EcsMask otherMask) //TODO протестить
|
public bool IsConflictWith(EcsMask otherMask)
|
||||||
{
|
{
|
||||||
return OverlapsArray(inc, otherMask.exc) || OverlapsArray(exc, otherMask.inc);
|
return OverlapsArray(inc, otherMask.exc) || OverlapsArray(exc, otherMask.inc);
|
||||||
}
|
}
|
||||||
|
@ -563,7 +563,7 @@ namespace DCFApixels.DragonECS
|
|||||||
}
|
}
|
||||||
internal EcsGroup GetFreeGroup()
|
internal EcsGroup GetFreeGroup()
|
||||||
{
|
{
|
||||||
EcsGroup result = _groupsPool.Count <= 0 ? new EcsGroup(this) : _groupsPool.Pop();
|
EcsGroup result = _groupsPool.Count <= 0 ? new EcsGroup(this, _config.Get_GroupCapacity()) : _groupsPool.Pop();
|
||||||
result._isReleased = false;
|
result._isReleased = false;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user