internal void Initialize(SerializedSceneManager serializedManager, SerializedSceneModel serializedScene) { SerializedSceneManager = serializedManager; this.serializedScene = serializedScene; selectedTransitionProp = null; // Need this to reset transition prop because for some reason Redo isn't // resulting in this being called properly when the SceneManagerEditor reinitializes Undo.undoRedoPerformed -= OnUndoRedo; Undo.undoRedoPerformed += OnUndoRedo; transitionListDisplay = new ReorderableList(serializedScene.SerializedObject, serializedScene.TransitionsProp, true, true, false, true); transitionListDisplay.drawHeaderCallback = OnDrawHeader; transitionListDisplay.drawElementCallback = DrawElement; transitionListDisplay.onSelectCallback = OnSelected; transitionListDisplay.onRemoveCallback = OnRemoved; transitionListDisplay.index = -1; if (serializedScene.TransitionsProp.arraySize > 0) { transitionListDisplay.index = 0; OnSelected(transitionListDisplay); } }
public void Initialize(SerializedSceneManager serializedManager) { serializedSceneManager = serializedManager; sceneHunterTypeFilter = new ClassExtendsAttribute(typeof(SceneHunter)) { AllowAbstract = false, AllowStructs = false, RemoveNamespaceFromSelected = true, Grouping = ClassGrouping.ByNamespaceFlat, ShowNoneOption = false }; selectedSceneHunterType = serializedManager. ScenePopulator.targetObject.GetType().AssemblyQualifiedName; RefreshPopulatorEditor(); if (assetFilterEditor != null) { DestroyImmediate(assetFilterEditor); } assetFilterEditor = CreateEditor(serializedManager.SerializedSceneFilter. targetObject, typeof(AssetFilterEditor)) as AssetFilterEditor; }
public void Initialize(SerializedSceneManager serializedManager, SceneManagerEditorWindow editorWindow) { SerializedManager = serializedManager; this.editorWindow = editorWindow; NodeEditor.ClearAll(); NodeEditor.ClearInputModes(); NodeEditor.CanDeleteNode = CanDeleteNode; NodeEditor.OnNodeRemoved += NodeEditor_OnNodeRemoved; NodeEditor.OnConnectorRemoved += NodeEditor_OnConnectorRemoved; NodeEditor.OnSelectionChanged += NodeEditor_OnSelectionChanged; new DefaultInputModeConfig().ApplyToNodeEditor(NodeEditor); ConnectNodeInputMode nodeConnectorMode = NodeEditor.GetInputMode <ConnectNodeInputMode>(); nodeConnectorMode.ConnectorFactory = TransitionConnector.TransitionConnectorFactory; nodeConnectorMode.OnConnectionsFinalized += NodeConnectorMode_OnConnectionsFinalized; InitializeContextMenus(); PopulateNodes(nodeContextMenu); PopulateConnections(connectorContextMenu); NodeEditor.RaiseSelectionChanged(); NodeEditor.SetPanOffset(SerializedManager.SceneNodes.PanOffset); }
private void ManagerWindow_OnRefresh(object sender, EventArgs e) { SceneManagerEditorWindow managerWindow = sender as SceneManagerEditorWindow; managerWindow.NodeEditor.NodeEditor.OnSelectionChanged -= NodeEditor_OnSelectionChanged; managerWindow.NodeEditor.NodeEditor.OnSelectionChanged += NodeEditor_OnSelectionChanged; serializedManager = managerWindow.SerializedSceneManager; }
public void Initialize(SerializedSceneManager serializedManager) { this.serializedManager = serializedManager; sceneOrderList = new ReorderableList(serializedManager.SerializedManager, serializedManager.ScenesProp, true, true, false, false); sceneOrderList.drawHeaderCallback = OnDrawHeader; sceneOrderList.elementHeight = EditorGUIUtility.singleLineHeight; sceneOrderList.drawElementBackgroundCallback = OnDrawBackground; sceneOrderList.drawElementCallback = OnDrawElement; }
private void OnUndoRedo() { isInitialized = false; AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(sceneManager)); SerializedSceneManager = new SerializedSceneManager(sceneManager); if (Selection.activeObject != serializedSceneManager.SceneNodesObject.targetObject) { Selection.activeObject = SerializedSceneManager.SceneNodesObject.targetObject; } FlagRefresh(); Repaint(); }
private SceneManagerEditorWindow RefreshManager() { SceneManagerEditorWindow managerWindow = SceneManagerEditorWindow.RefreshOpenSceneManagementWindow(); if (managerWindow == null) { return(null); } serializedManager = managerWindow.SerializedSceneManager; managerWindow.OnRefresh -= ManagerWindow_OnRefresh; managerWindow.OnRefresh += ManagerWindow_OnRefresh; return(managerWindow); }
public void Initialize(SerializedSceneManager serializedManager, SerializedProperty conditionsListProperty) { this.conditionsListProperty = conditionsListProperty; this.serializedManager = serializedManager; conditionList = new ReorderableList(conditionsListProperty.serializedObject, conditionsListProperty, showElements, true, showElements, showElements); conditionList.drawHeaderCallback = OnDrawHeader; conditionList.elementHeightCallback = OnElementHeight; conditionList.drawElementCallback = OnDrawElement; conditionList.onAddDropdownCallback = OnAddDropDown; conditionList.onRemoveCallback = OnDeleteCondition; ClearEditors(); }
private void Refresh() { EditorApplication.playModeStateChanged -= EditorApplication_playModeStateChanged; EditorApplication.playModeStateChanged += EditorApplication_playModeStateChanged; Undo.undoRedoPerformed -= OnUndoRedo; Undo.undoRedoPerformed += OnUndoRedo; EditorSceneManager.sceneOpened -= EditorSceneManager_sceneOpened; EditorSceneManager.sceneOpened += EditorSceneManager_sceneOpened; if (sceneManager == null) { return; } if (sceneManager.Transitioner != null) { sceneManager.Transitioner.OnTransitionCompleted.RemoveListener(OnTransitioned); sceneManager.Transitioner.OnTransitionCompleted.AddListener(OnTransitioned); sceneManager.Transitioner.OnTransitionStarted.RemoveListener(OnTransitionStarted); sceneManager.Transitioner.OnTransitionStarted.AddListener(OnTransitionStarted); } sceneManager.SceneVariables.OnVariableChanged -= SceneVariables_OnVariableChanged; sceneManager.SceneVariables.OnVariableChanged += SceneVariables_OnVariableChanged; SerializedSceneManager = new SerializedSceneManager(sceneManager); serializedSceneManager.SetActiveScene(); isInitialized = false; if (!EditorApplication.isPlaying) { sceneManager.SceneVariables.ResetVariables(); } needsRefresh = false; OnRefresh.SafeInvoke(this, System.EventArgs.Empty); Repaint(); }