Exemple #1
0
        private void Change(SceneAsset scene, bool needStartPlaymode)
        {
            SceneManagementUtility.ChangeScene(scene);
            Close();

            if (needStartPlaymode)
            {
                EditorApplication.isPlaying = true;
            }
        }
        private static bool OnAssetClick(int instanceID, int line)
        {
            var assetPath = UnityEditor.AssetDatabase.GetAssetPath(instanceID);
            var asset     = UnityEditor.AssetDatabase.LoadAssetAtPath <SceneReferenceAsset>(assetPath);

            if (asset)
            {
                SceneManagementUtility.ChangeScene(asset.ScenePath);
            }

            return(false);
        }
Exemple #3
0
        private void DrawSceneAssetMenu(SceneAsset scene, string displayName, Color color)
        {
            var guiState = GUI.enabled;

            GUI.enabled = scene;
            {
                EditorGUILayout.BeginHorizontal();
                {
                    var guiColor = GUI.color;

                    GUI.color = guiColor * color;
                    if (GUILayout.Button(displayName))
                    {
                        Change(scene, false);
                    }

                    GUI.color = Color.yellow;
                    if (GUILayout.Button(BUILD_SCENE_ASSET_CONTENT, GUILayout.Width(18f)))
                    {
                        SceneManagementUtility.ToggleBuildStatus(scene);
                    }

                    GUI.color = Color.cyan;
                    if (GUILayout.Button(PING_SCENE_ASSET_CONTENT, GUILayout.Width(18f)))
                    {
                        EditorGUIUtility.PingObject(scene);
                    }

                    GUI.color = Color.green;

                    if (GUILayout.Button(MOVE_AND_PLAY_CONTENT, GUILayout.Width(40f)))
                    {
                        Change(scene, true);
                    }

                    GUI.color = guiColor;
                }
                EditorGUILayout.EndHorizontal();
            }
            GUI.enabled = guiState;
        }