private void DeleteEditorComponent(GUIMenuItemParamEventArgs args) { bool addToExclusion = false; if (args.ParamValue is bool) { addToExclusion = (bool)args.ParamValue; } IEnumerable <Node> selectedNodes = NodeEditor.GetSelectedNodes(); foreach (Node node in selectedNodes) { SceneNode sceneNode = node as SceneNode; if (sceneNode == null) { continue; } SerializedManager.DeleteSceneNode( sceneNode.SceneId, addToExclusion); } NodeEditor.RemoveSelectedNodes(); NodeEditor.RemoveSelectedConnectors(); editorWindow.Repaint(); }
private void LoadScene(GUIMenuItemParamEventArgs args) { SceneNode node = args.MenuContext as SceneNode; if (node == null) { return; } if (node.SceneId == SceneManagerController.ANY_SCENE_ID) { return; } sceneManager.TransitionToScene(node.SceneInfo); }
private void LoadSceneInEditor(GUIMenuItemParamEventArgs args) { SceneNode node = args.MenuContext as SceneNode; OpenSceneMode argsParam = (OpenSceneMode)args.ParamValue; if (node == null) { return; } if (node.SceneId == SceneManagerController.ANY_SCENE_ID) { return; } List <Scene> modifiedScenes = EditorSceneManagerExtensions.GetModifiedScenes().ToList(); if (modifiedScenes.Count > 0) { string scenePaths = string.Join(System.Environment.NewLine, modifiedScenes.Select((x) => x.path).ToArray()); int result = EditorUtility.DisplayDialogComplex("Scene(s) Have Been Modified", "Do you want to save the changes you made in the scenes:" + System.Environment.NewLine + scenePaths, "Save", "Cancel", "Don't Save"); // if cancel if (result == 1) { return; } // if save if (result == 0) { EditorSceneManager.SaveOpenScenes(); } } EditorSceneManager.OpenScene(node.SceneInfo.SceneAssetPath, argsParam); }