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