示例#1
0
        private void CleanupNode(NodeEditorBase node)
        {
            Undo.RecordObject(node.Data, "Delete node");

            node.CleanConnections();
            _graph.DeleteNode(node.Data);
            _window.GraveyardAdd(node);
            Undo.DestroyObjectImmediate(node.Data);

            var childObjects = node.Data.enterActions
                               .Concat <ScriptableObject>(node.Data.exitActions)
                               .Concat(node.Data.conditions);

            foreach (var scriptableObject in childObjects)
            {
                Undo.DestroyObjectImmediate(scriptableObject);
            }

            node.DeleteCleanup();
        }