public void OnEnable() { //if there is no ASOInstance asset, create one, else simply load the one found if ((SceneOpenerVariables)AssetDatabase.LoadAssetAtPath ("Assets/Resources/ASOInstance.asset", typeof(SceneOpenerVariables)) == null) { variables = new SceneOpenerVariables(); AssetDatabase.CreateAsset(variables, "Assets/Resources/ASOInstance.asset"); } titleContent = new GUIContent("Scene Opener"); LoadData(); }
static void LoadScenesFromRightClick() { //this method is static, so we need to load the variables again inside it SceneOpenerVariables soVars = (SceneOpenerVariables)AssetDatabase.LoadAssetAtPath ("Assets/Resources/ASOInstance.asset", typeof(SceneOpenerVariables)); EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo(); EditorSceneManager.OpenScene("Assets/Scenes/" + Selection.activeObject.name + ".unity", OpenSceneMode.Single); foreach (Object o in soVars.Auto_Open_Scenes) { if (o.name != soVars.sceneToSwitchTo.name) { EditorSceneManager.OpenScene("Assets/Scenes/" + o.name + ".unity", OpenSceneMode.Additive); } } }
void LoadData() { variables = (SceneOpenerVariables)AssetDatabase.LoadAssetAtPath("Assets/Resources/ASOInstance.asset", typeof(SceneOpenerVariables)); }