public static void RunWithLastSettings() { BuildUtility.GetLastBuildSettings <EditorPlaySettings>().Run(); }
public static void RunAndDeployWithLastSettings() { BuildUtility.GetLastBuildSettings <PlayerBuildSettings>().RunAndDeploy(); }
/// <summary> /// OnGUI is called for rendering and handling GUI events. /// This function can be called multiple times per frame (one call per event). /// </summary> private void OnGUI() { PlayerBuildSettings lastPlayerBuildSettings = BuildUtility.GetLastBuildSettings <PlayerBuildSettings>(); EditorPlaySettings lastEditorPlaySettings = BuildUtility.GetLastBuildSettings <EditorPlaySettings>(); string lastPlayerName = lastPlayerBuildSettings == null ? string.Empty : lastPlayerBuildSettings.name; string lastEditorName = lastEditorPlaySettings == null ? string.Empty : lastEditorPlaySettings.name; if (lastPlayerBuildSettings != null) { if (GUILayout.Button("Build: " + lastPlayerName)) { lastPlayerBuildSettings.Run(); return; } if (GUILayout.Button("Build and Run: " + lastPlayerName)) { lastPlayerBuildSettings.RunAndDeploy(); return; } } else { } if (lastEditorPlaySettings != null) { if (GUILayout.Button("Play: " + lastEditorName)) { lastEditorPlaySettings.Run(); return; } } else { } PlayerBuildSettings[] playerBuildSettings = AssetDatabase.FindAssets("t:PlayerBuildSettings") .Select <string, string>(AssetDatabase.GUIDToAssetPath) .Select <string, PlayerBuildSettings>(AssetDatabase.LoadAssetAtPath <PlayerBuildSettings>) .ToArray(); if (playerBuildSettings.Length == 0) { EditorGUILayout.TextArea("No editor play settings found. To create a settings object right click a location in the Project window and select Create->Build Settings->Editor Play"); } else { GUILayout.Label("Players", _guiStyleHeading); for (int i = 0; i < playerBuildSettings.Length; i++) { PlayerBuildSettings setting = playerBuildSettings[i]; GUILayout.BeginHorizontal(); GUILayout.Label(setting.name); if (GUILayout.Button("Build", _SettingsButtonLayoutOptions)) { setting.Run(); return; } if (GUILayout.Button("Build and Run", _SettingsButtonLayoutOptions)) { setting.RunAndDeploy(); return; } if (GUILayout.Button("?", _SelectButtonLayoutOptions)) { Selection.activeObject = setting; } GUILayout.EndHorizontal(); } } EditorPlaySettings[] editorPlaySettings = AssetDatabase.FindAssets("t:EditorPlaySettings") .Select <string, string>(AssetDatabase.GUIDToAssetPath) .Select <string, EditorPlaySettings>(AssetDatabase.LoadAssetAtPath <EditorPlaySettings>) .ToArray(); if (editorPlaySettings.Length == 0) { EditorGUILayout.TextArea("No editor play settings found. To create a settings object right click a location in the Project window and select Create->Build Settings->Editor Play"); } else { GUILayout.Label("Editor Play", _guiStyleHeading); for (int i = 0; i < editorPlaySettings.Length; i++) { EditorPlaySettings setting = editorPlaySettings[i]; GUILayout.BeginHorizontal(); GUILayout.Label(setting.name); if (GUILayout.Button("Play", _SettingsButtonLayoutOptions)) { setting.Run(); return; } if (GUILayout.Button("?", _SelectButtonLayoutOptions)) { Selection.activeObject = setting; } GUILayout.EndHorizontal(); } } }