private void ExecuteLoading(BuildingScenes scene, bool showLoading) { if (onLoading != null) { onLoading.Invoke(); } DestroyOldData(); string sceneName; if (showLoading) { GamePackageSettings gamePackageSettings = GamePackageSettings.Load(); BuildingScenes loadingScene = gamePackageSettings.loadingScene; sceneName = EnumExtantions.GetDescription(loadingScene); gameObject.Log("Creating middle gameObject"); GameObject middleGameObject = new GameObject("LoadingMiddleObject"); gameObject.Log("Adding Loading component"); middleGameObject.AddComponent <Loading>().Scene = scene; } else { sceneName = EnumExtantions.GetDescription(scene); } gameObject.Log("Loading scene:" + sceneName); #if UNITY_5_3 if (loadAsync) { UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName); } else { UnityEngine.SceneManagement.SceneManager.LoadScene(sceneName); } #else if (loadAsync) { Application.LoadLevelAsync(sceneName); } else { Application.LoadLevel(sceneName); } #endif }
void OnGUI() { if (loadingSceneArray == null) { loadingSceneArray = AssetDatabase.LoadAssetAtPath <GamePackageSettings>(Path.SETTINGS); if (loadingSceneArray == null) { loadingSceneArray = new GamePackageSettings(); AssetDatabase.CreateAsset(loadingSceneArray, Path.SETTINGS); } } GUILayout.Label("Game Package Settings", EditorStyles.boldLabel); SerializedObject so = new SerializedObject(loadingSceneArray); SerializedProperty stringsProperty = so.FindProperty("loadingScene"); EditorGUILayout.PropertyField(stringsProperty, true); so.ApplyModifiedProperties(); AssetDatabase.SaveAssets(); }