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