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); }
/// <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(); } }