private void OnGUI() { this.minSize = new Vector2(500, 500); scrollBar = EditorGUILayout.BeginScrollView(scrollBar); GUILayout.Label("Dungeon Generator", EditorStyles.boldLabel); EditorGUI.BeginChangeCheck(); GUILayout.Label("Measure", EditorStyles.miniBoldLabel); width = EditorGUILayout.IntSlider("Width", width, 10, 100); height = EditorGUILayout.IntSlider("Height", height, 10, 100); GUILayout.Label("Room Size", EditorStyles.miniBoldLabel); roomMinSize = EditorGUILayout.IntSlider("Min", roomMinSize, 1, roomMaxSize - 1); roomMaxSize = EditorGUILayout.IntSlider("Max", roomMaxSize, 2, maxMeasureRoom); GUILayout.Label("Number of Rooms", EditorStyles.miniBoldLabel); minNumRoom = EditorGUILayout.IntSlider("Min", minNumRoom, 0, maxNumRoom - 1); maxNumRoom = EditorGUILayout.IntSlider("Max", maxNumRoom, 1, maxNumRoomsPossible); if (EditorGUI.EndChangeCheck()) { maxNumRoomsPossible = GetMaxNumRoomsPosible(); maxMeasureRoom = GetMinMeasureRoom(); } if (GUILayout.Button("Preview")) { dungeonGenerator.SetHeight(height); dungeonGenerator.SetWidth(width); dungeonGenerator.SetMinRoom(minNumRoom); dungeonGenerator.SetMaxRoom(maxNumRoom); dungeonGenerator.SetRoomMaxSize(roomMaxSize); dungeonGenerator.SetRoomMinSize(roomMinSize); dungeon = DrawDungeon(); canGenerate = true; } scrollBarDisplay = EditorGUILayout.BeginScrollView(scrollBarDisplay); GUI.enabled = false; dungeon = EditorGUILayout.TextArea(dungeon); EditorGUILayout.EndScrollView(); GUI.enabled = canGenerate; if (GUILayout.Button("Generate")) { CreateDungeon(); canSave = true; } GUI.enabled = true; nameDungeon = GUILayout.TextField(nameDungeon, EditorStyles.textField); GUI.enabled = canSave; if (GUILayout.Button("Save")) { Save(); } EditorGUILayout.EndScrollView(); }