Skip to content

Instantly share code, notes, and snippets.

@gekidoslair
Created September 22, 2018 19:04
Show Gist options
  • Save gekidoslair/0121c964577f9ddb963ddfa0a16cf115 to your computer and use it in GitHub Desktop.
Save gekidoslair/0121c964577f9ddb963ddfa0a16cf115 to your computer and use it in GitHub Desktop.
Simple editor window as a 'dashboard' for your Unity game
using UnityEngine;
using UnityEditor;
using UnityEditor.SceneManagement;
namespace PixelWizards.GameSystem.Utility.Editor
{
public class GameDashboard : EditorWindow
{
static int MinWidth = 150;
public static readonly string startupScene = "Assets/_Game/Scenes/Startup.unity";
public static readonly string mainMenu = "Assets/_Game/Scenes/EndDays/FrontEnd/MainMenu.unity";
// inventory scenes
public static readonly string characterInventory = "Assets/_Game/Scenes/Inventory/Characters.unity";
public static readonly string animalInventory = "Assets/_Game/Scenes/Inventory/Animals.unity";
public static readonly string monsterInventory = "Assets/_Game/Scenes/Inventory/Monsters.unity";
public static readonly string weaponInventory = "Assets/_Game/Scenes/Inventory/Weapons.unity";
[MenuItem("Pixel Wizards/Game Dashboard", false, -100)]
static void Init()
{
GameDashboard window = (GameDashboard)EditorWindow.GetWindow<GameDashboard>("Dashboard");
window.minSize = new Vector2(MinWidth, 375);
}
Vector2 _scroll;
void OnGUI()
{
EditorGUILayout.BeginScrollView(_scroll);
GUILayout.Label("Scene List:");
GUI.backgroundColor = Color.green;
if (GUILayout.Button("Game Startup", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(startupScene, OpenSceneMode.Single);
}
if (GUILayout.Button("Main Menu", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(mainMenu, OpenSceneMode.Single);
}
GUILayout.Label("Inventory Scenes:");
GUI.backgroundColor = Color.blue;
if (GUILayout.Button("Characters", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(characterInventory, OpenSceneMode.Single);
}
if (GUILayout.Button("Animals", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(animalInventory, OpenSceneMode.Single);
}
if (GUILayout.Button("Monsters", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(monsterInventory, OpenSceneMode.Single);
}
if (GUILayout.Button("Weapons", GUILayout.MinHeight(100), GUILayout.Height(35)))
{
EditorSceneManager.OpenScene(weaponInventory, OpenSceneMode.Single);
}
EditorGUILayout.EndScrollView();
GUI.backgroundColor = Color.red;
if ( GUILayout.Button("Close Window", GUILayout.MinHeight(25), GUILayout.Height(35)))
{
Close();
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment