private void OnActorDeleted(Actor actor) { var node = GetActorNode(actor); if (node != null) { ActorRemoved?.Invoke(node); // Cleanup part of the graph node.Dispose(); } }
private void OnActorDeleted(ActorNode node) { for (int i = 0; i < node.ChildNodes.Count; i++) { if (node.ChildNodes[i] is ActorNode child) { i--; OnActorDeleted(child); } } ActorRemoved?.Invoke(node); // Cleanup part of the graph node.Dispose(); }
public void RemoveActor(Actor actor) { actors.Remove(actor); ActorRemoved?.Invoke(actor); }