Account for graph actions being able to delete the entity in ChangeNode.
Fixes an exception that occurs if a node action deletes a construction.
This commit is contained in:
@@ -140,6 +140,10 @@ namespace Content.Server.Construction
|
||||
if(performActions)
|
||||
PerformActions(uid, userUid, node.Actions);
|
||||
|
||||
// An action might have deleted the entity... Account for this.
|
||||
if (!Exists(uid))
|
||||
return false;
|
||||
|
||||
// ChangeEntity will handle the pathfinding update.
|
||||
if (node.Entity is {} newEntity && ChangeEntity(uid, userUid, newEntity, construction) != null)
|
||||
return true;
|
||||
|
||||
@@ -403,7 +403,7 @@ namespace Content.Server.Construction
|
||||
foreach (var action in actions)
|
||||
{
|
||||
// If an action deletes the entity, we stop performing actions.
|
||||
if (!EntityManager.EntityExists(uid))
|
||||
if (!Exists(uid))
|
||||
break;
|
||||
|
||||
action.PerformAction(uid, userUid, EntityManager);
|
||||
|
||||
Reference in New Issue
Block a user