private void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
bool isGameOver; //Is the game currently over? // private GameObject player1; // LevelManager levelManager; void Awake() { //here is the beginning of the singleton pattern //If a Game Manager exists and this isn't it... if (current != null && current != this) { //...destroy this and exit. There can only be one Game Manager Destroy(gameObject); return; } //Set this as the current game manager current = this; //Create out collection to hold the orbs // orbs = new List<Orb>(); // collectedOrbs = new List<Orb>(); // startingPlayerPosition = new Vector3(3.66f, 17, 0); //Persis this object between scene reloads DontDestroyOnLoad(gameObject); }
private void Draw2dSingletonArchitectureOptions() { #region 1 gui create folders GUILayout.BeginArea(architectureSectionRect); EditorGUILayout.LabelField("1. create starter project structure", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); EditorGUILayout.LabelField("-Scenes"); EditorGUILayout.LabelField("-Scripts"); EditorGUILayout.LabelField("-Animation"); EditorGUILayout.LabelField("-Audio"); EditorGUILayout.LabelField("-Materials"); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); EditorGUILayout.LabelField("-Meshes"); EditorGUILayout.LabelField("-Prefabs"); EditorGUILayout.LabelField("-Artwork"); EditorGUILayout.LabelField("-Textures"); EditorGUILayout.LabelField("-Sprites"); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("1. create starter project struture")) { OnWizardCreate(); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); #endregion #region 2 gui-add scene(s) and architecture singleton EditorGUILayout.LabelField("2. add scene(s), and game manager for singleton app", EditorStyles.boldLabel); EditorGUILayout.LabelField("Create Scene with Game Manager"); stringForGameName = EditorGUILayout.TextField("Game Name", stringForGameName); shortNameGameName = EditorGUILayout.TextField("Short Name", shortNameGameName); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); // includeWebScene = EditorGUILayout.Toggle("include preload scene?", includeWebScene); includeWebScene = EditorGUILayout.Toggle("include Web scene?", includeWebScene); includeMainScene = EditorGUILayout.Toggle("include main scene?", includeMainScene); includeTitleScene = EditorGUILayout.Toggle("include title scene", includeTitleScene); includeMenuScene = EditorGUILayout.Toggle("include menu scene?", includeMenuScene); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical(); includeSingletonGM = EditorGUILayout.Toggle("Include GameManager", includeSingletonGM); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); ////////////////////////////////////// // includeGameManager = EditorGUILayout.BeginToggleGroup("Include Game Manager", includeGameManager); // includeECSGM = EditorGUILayout.Toggle("ECS", includeECSGM); // includeObserverPatternGM = EditorGUILayout.Toggle("Observer Pattern", includeObserverPatternGM); // includeMVCGM = EditorGUILayout.Toggle("MVC", includeMVCGM); // EditorGUILayout.EndToggleGroup(); // includeMainScene = EditorGUILayout.Toggle(); if (GUILayout.Button("2. create scene(s) and game manager")) { Debug.Log("Initiating New Starter project"); var newScene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single); string nameforscene = ""; if (includeWebScene) { nameforscene = "Assets/Scenes/Web-" + stringForGameName + ".unity"; } if (includeMainScene) { nameforscene = "Assets/Scenes/Main-" + stringForGameName + ".unity"; } if (includeTitleScene) { nameforscene = "Assets/Scenes/Title-" + stringForGameName + ".unity"; } if (includeMenuScene) { nameforscene = "Assets/Scenes/Menu-" + stringForGameName + ".unity"; } bool saveOK = EditorSceneManager.SaveScene(newScene, nameforscene); Debug.Log("Saved Scene " + (saveOK ? "OK" : "Error!")); AssetDatabase.Refresh(); //////////////////////////////////////// if (includeGameManager) { Debug.Log("creating game manager for singleton pattern"); GameObject singletonGameManager = new GameObject("Singleton GameManager"); singletonGameManager.AddComponent <SingletonGameManager>(); SingletonGameManager sgm = singletonGameManager.GetComponent <SingletonGameManager>(); sgm.gameName = stringForGameName; sgm.Version = "0.0.1"; bool saveOKagain = EditorSceneManager.SaveScene(newScene, nameforscene); Debug.Log("Saved Scene " + (saveOK ? "OK" : "Error!")); AssetDatabase.Refresh(); // Instantiate(singletonGameManager, Vector3.zero, Quaternion.identity); // // WorkCycleEditorWindow.ShowWindow(); // Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Packages/com.unity.images-library/Example/Images/image.png", typeof(Texture2D)); // GameObject prefabToLoad = (GameObject)AssetDatabase.LoadAssetAtPath("Packages/com.madlibrarianstudios.simuframework/Runtime/Prefabs/prefbtest.prefab", typeof(GameObject)); // SingletonGameManager // GameObject myobject = PrefabUtility.InstantiatePrefab(prefabToLoad) as GameObject; // AssetDatabase.Refresh(); } InitTextures(); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); #endregion GUILayout.EndArea(); #endregion }