Пример #1
0
        public static bool OnOpenSceneSet(int instanceID, int line)
        {
            Object unityObject = EditorUtility.InstanceIDToObject(instanceID);

            if (unityObject?.GetType() == typeof(SceneSet))
            {
                SceneSet targetSet = unityObject as SceneSet;

                if (targetSet.SetScenes.Count == 0)
                {
                    return(true);
                }

                int loadMode = EditorUtility.DisplayDialogComplex("Load Scene Set", "Select load mode.", "Full",
                                                                  "Additive (Keep Current Scenes)", "Cancel");

                if (loadMode == 0)
                {
                    targetSet.LoadSceneSet(false);
                }
                else if (loadMode == 1)
                {
                    targetSet.LoadSceneSet(true);
                }

                return(true);
            }

            return(false);
        }
Пример #2
0
        /// <summary>
        ///     Draws the load scene set button.
        /// </summary>
        private void DrawLoadSceneSetButton()
        {
            if (SOFlowEditorUtilities.DrawColourButton("Load Scene Set"))
            {
                if (EditorUtility.DisplayDialog("Load Scene Set",
                                                "Replacing currently opens scenes with Scene Set.\nAre you sure?",
                                                "Load", "Cancel"))
                {
                    _target.LoadSceneSet(false);
                }
            }

            if (SOFlowEditorUtilities.DrawColourButton("Load Scene Set (Keep Current Scenes)"))
            {
                _target.LoadSceneSet(true);
            }

            if (SOFlowEditorUtilities.DrawColourButton("Unload Scene Set"))
            {
                _target.UnloadSceneSet();
            }
        }