This commit is contained in:
Mikhail 2024-01-31 04:48:53 +08:00
parent 98528cb817
commit 69f0a7a604

View File

@ -173,7 +173,7 @@ namespace DCFApixels.DragonECS.Relations.Utils
//} //}
//else //else
//{ //{
arcInfo.endNodeIndex = _endBaskets.AddToBasket(endEntityID, relEntityID); arcInfo.endNodeIndex = _endBaskets.AddToBasket(endEntityID, relEntityID);
//} //}
} }
public void Del(int relEntityID) public void Del(int relEntityID)
@ -208,36 +208,58 @@ namespace DCFApixels.DragonECS.Relations.Utils
} }
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void DelStartAndDelRelEntities(int startEntityID, EcsArc arc) private void DelStartAndDelRelEntities(int startEntityID, EcsArc arc)
{ {
foreach (var relEntityID in _startBaskets.GetBasketIterator(startEntityID)) foreach (var relEntityID in _startBaskets.GetBasketIterator(startEntityID))
{ {
int endEntityID = _source.GetRelEnd(relEntityID); //int endEntityID = _source.GetRelEnd(relEntityID);
//int endNodeIndex = _relNodesMapping[relEntityID].endNodeIndex;
//int revereceRelEntitiy = _endBaskets.Get(endNodeIndex);
//
////_endBaskets.RemoveFromBasket(endEntityID, endNodeIndex);
//
//arc.ArcWorld.DelEntity(relEntityID);
//if(!_isLoop)
//{
// arc.ArcWorld.DelEntity(revereceRelEntitiy);
//}
int endNodeIndex = _relNodesMapping[relEntityID].endNodeIndex; int endNodeIndex = _relNodesMapping[relEntityID].endNodeIndex;
int revereceRelEntitiy = _endBaskets.Get(endNodeIndex);
//_endBaskets.RemoveFromBasket(endEntityID, endNodeIndex);
arc.ArcWorld.DelEntity(relEntityID); arc.ArcWorld.DelEntity(relEntityID);
if(!_isLoop) if (!_isLoop)
{
int revereceRelEntitiy = _endBaskets.Get(endNodeIndex);
arc.ArcWorld.DelEntity(revereceRelEntitiy); arc.ArcWorld.DelEntity(revereceRelEntitiy);
}
} }
//_startBaskets.RemoveBasket(startEntityID); //_startBaskets.RemoveBasket(startEntityID);
} }
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void DelEndAndDelRelEntities(int endEntityID, EcsArc arc) private void DelEndAndDelRelEntities(int endEntityID, EcsArc arc)
{ {
foreach (var relEntityID in _endBaskets.GetBasketIterator(endEntityID)) foreach (var relEntityID in _endBaskets.GetBasketIterator(endEntityID))
{ {
int startEntityID = _source.GetRelStart(relEntityID); //int startEntityID = _source.GetRelStart(relEntityID);
//int startNodeIndex = _relNodesMapping[relEntityID].startNodeIndex;
//int revereceRelEntitiy = _startBaskets.Get(startNodeIndex);
//
////_startBaskets.RemoveFromBasket(startEntityID, startNodeIndex);
//
//arc.ArcWorld.DelEntity(relEntityID);
//if(!_isLoop)
//{
// arc.ArcWorld.DelEntity(revereceRelEntitiy);
//}
int startNodeIndex = _relNodesMapping[relEntityID].startNodeIndex; int startNodeIndex = _relNodesMapping[relEntityID].startNodeIndex;
int revereceRelEntitiy = _startBaskets.Get(startNodeIndex);
//_startBaskets.RemoveFromBasket(startEntityID, startNodeIndex);
arc.ArcWorld.DelEntity(relEntityID); arc.ArcWorld.DelEntity(relEntityID);
if(!_isLoop) if (!_isLoop)
{
int revereceRelEntitiy = _startBaskets.Get(startNodeIndex);
arc.ArcWorld.DelEntity(revereceRelEntitiy); arc.ArcWorld.DelEntity(revereceRelEntitiy);
}
} }
//_endBaskets.RemoveBasket(endEntityID); //_endBaskets.RemoveBasket(endEntityID);
} }