mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 01:44:35 +08:00
fixes
This commit is contained in:
parent
089a1ab60a
commit
9a149da66e
@ -93,7 +93,6 @@ namespace DCFApixels.DragonECS
|
|||||||
{
|
{
|
||||||
private EcsWorld _world;
|
private EcsWorld _world;
|
||||||
private EcsMask.Builder _maskBuilder;
|
private EcsMask.Builder _maskBuilder;
|
||||||
private bool _isBuilt = false;
|
|
||||||
public IncludeMarker Inc
|
public IncludeMarker Inc
|
||||||
{
|
{
|
||||||
get { return new IncludeMarker(this); }
|
get { return new IncludeMarker(this); }
|
||||||
@ -210,7 +209,6 @@ namespace DCFApixels.DragonECS
|
|||||||
private void Build(out EcsMask mask)
|
private void Build(out EcsMask mask)
|
||||||
{
|
{
|
||||||
mask = _maskBuilder.Build();
|
mask = _maskBuilder.Build();
|
||||||
_isBuilt = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region SupportReflectionHack
|
#region SupportReflectionHack
|
||||||
@ -499,7 +497,7 @@ namespace DCFApixels.DragonECS
|
|||||||
foreach (var incTypeID in _mask.inc)
|
foreach (var incTypeID in _mask.inc)
|
||||||
{
|
{
|
||||||
var pool = world.GetPoolInstance(incTypeID);
|
var pool = world.GetPoolInstance(incTypeID);
|
||||||
if (pool.Has(entityID) == false)
|
if (pool != null && pool.Has(entityID) == false)
|
||||||
{
|
{
|
||||||
pool.AddRaw(entityID, null);
|
pool.AddRaw(entityID, null);
|
||||||
}
|
}
|
||||||
@ -507,7 +505,7 @@ namespace DCFApixels.DragonECS
|
|||||||
foreach (var excTypeID in _mask.exc)
|
foreach (var excTypeID in _mask.exc)
|
||||||
{
|
{
|
||||||
var pool = world.GetPoolInstance(excTypeID);
|
var pool = world.GetPoolInstance(excTypeID);
|
||||||
if (pool.Has(entityID))
|
if (pool != null && pool.Has(entityID))
|
||||||
{
|
{
|
||||||
pool.Del(entityID);
|
pool.Del(entityID);
|
||||||
}
|
}
|
||||||
|
@ -20,10 +20,15 @@ namespace DCFApixels.DragonECS
|
|||||||
#region Getters
|
#region Getters
|
||||||
public IEcsPool GetPoolInstance(int componentTypeID)
|
public IEcsPool GetPoolInstance(int componentTypeID)
|
||||||
{
|
{
|
||||||
|
if (IsComponentTypeDeclared(componentTypeID))
|
||||||
|
{
|
||||||
|
var resuult = _pools[componentTypeID];
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (_pools[componentTypeID].ComponentTypeID != componentTypeID) { Throw.UndefinedException(); }
|
if (resuult != _nullPool && resuult.ComponentTypeID != componentTypeID) { Throw.UndefinedException(); }
|
||||||
#endif
|
#endif
|
||||||
return _pools[componentTypeID];
|
return resuult;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
|
Loading…
Reference in New Issue
Block a user