protected override void OnDisable() { base.OnDisable(); postScanCalled = false; if (startNode != null) { reference.Remove(startNode); } if (endNode != null) { reference.Remove(endNode); } if (startNode != null && endNode != null) { startNode.RemoveConnection(endNode); endNode.RemoveConnection(startNode); if (connectedNode1 != null && connectedNode2 != null) { startNode.RemoveConnection(connectedNode1); connectedNode1.RemoveConnection(startNode); endNode.RemoveConnection(connectedNode2); connectedNode2.RemoveConnection(endNode); } } }
protected override void OnDisable() { base.OnDisable(); postScanCalled = false; if (startNode != null) { NodeLink2 tmp; if (reference.TryGetValue(startNode, out tmp) && tmp == this) { reference.Remove(startNode); } } if (endNode != null) { NodeLink2 tmp; if (reference.TryGetValue(endNode, out tmp) && tmp == this) { reference.Remove(endNode); } } if (startNode != null && endNode != null) { startNode.RemoveConnection(endNode); endNode.RemoveConnection(startNode); if (connectedNode1 != null && connectedNode2 != null) { startNode.RemoveConnection(connectedNode1); connectedNode1.RemoveConnection(startNode); endNode.RemoveConnection(connectedNode2); connectedNode2.RemoveConnection(endNode); } } }