void OnGUI() { SampleStyle.DrawWindowBackground(SampleStyle.ColorGrey); GUILayout.BeginVertical(SampleStyle.Frame(SampleStyle.ColorLightestGrey)); _name = SampleStyle.TextFieldLabeled(Languages.GetText("LevelSetting-LevelName"), _name, SampleStyle.TextFieldLabel, SampleStyle.TextField, SampleStyle.TextFieldHeight); _abbreviation = SampleStyle.TextFieldLabeled(Languages.GetText("LevelSetting-LevelAbbreviation"), _abbreviation, SampleStyle.TextFieldLabel, SampleStyle.TextField, SampleStyle.TextFieldHeight); _description = SampleStyle.TextAreaLabeled(Languages.GetText("LevelSetting-Description"), _description, SampleStyle.TextAreaLabel, SampleStyle.TextArea, SampleStyle.TextAreaHeight); _tag = SampleStyle.TextFieldLabeled(Languages.GetText("LevelSetting-Tag"), _tag, SampleStyle.TextFieldLabel, SampleStyle.TextField, SampleStyle.TextFieldHeight); EditorGUILayout.HelpBox(FormValidation(), MessageType.Info, true); // If error occur, disable apply button. EditorGUI.BeginDisabledGroup(_errorType != ErrorType.NoError); // Apply button and popup if (GUILayout.Button(Languages.GetText("LevelSetting-Apply"), SampleStyle.GetButtonStyle(SampleStyle.ButtonType.Regular, SampleStyle.ButtonColor.Green), SampleStyle.SubmitButtonHeight)) { if (EditorUtility.DisplayDialog(Languages.GetText("LevelSetting-Dialog-Title"), Languages.GetText("LevelSetting-Dialog-Content"), Languages.GetText("LevelSetting-Dialog-Yes"), Languages.GetText("LevelSetting-Dialog-No"))) { // Commit changes Debug.Log(Languages.GetText("LevelSetting-Dialog-Yes-Content")); } else { // Cancel changes; Debug.Log(Languages.GetText("LevelSetting-Dialog-No-Content")); } } EditorGUI.EndDisabledGroup(); GUILayout.EndVertical(); }
void OnGUI() { if (_isInitTabButton) { MissionTabButtonStyle = new GUIStyle(SampleStyle.GetButtonStyle(SampleStyle.ButtonType.Left, SampleStyle.ButtonColor.Blue)); SpaceTabButtonStyle = new GUIStyle(SampleStyle.GetButtonStyle(SampleStyle.ButtonType.Right, SampleStyle.ButtonColor.Blue)); _isInitTabButton = false; } SampleStyle.DrawWindowBackground(SampleStyle.ColorGrey); // Buttons for switching mission graph and space graph. GUILayout.BeginVertical(SampleStyle.Frame(SampleStyle.ColorLightestGrey)); LayoutStateButtons(); // Dropdown for strating node. int startingIndex = Mission.Alphabet.Nodes.FindIndex(n => n == Mission.Alphabet.StartingNode); startingIndex = SampleStyle.PopupLabeled(Languages.GetText("GenerateMission-StartingNode"), startingIndex, Mission.Alphabet.Nodes.Select(n => n.ExpressName).ToArray(), SampleStyle.PopUpLabel, SampleStyle.PopUp, Screen.width - 15); Mission.Alphabet.StartingNode = Mission.Alphabet.Nodes[startingIndex]; GUILayout.EndVertical(); // Canvas to draw current mission graph. LayoutMissionGraphCanvas(); // Layout the list of mission group. LayoutMissionGroupList(); // Buttons for operating the graph. LayoutFunctionButtons(); }
// Native function for Editor Window. void OnGUI() { if (_isInitTabButton) { NodeTabButtonStyle = new GUIStyle(SampleStyle.GetButtonStyle(SampleStyle.ButtonType.Left, SampleStyle.ButtonColor.Blue)); ConnectionTabButtonStyle = new GUIStyle(SampleStyle.GetButtonStyle(SampleStyle.ButtonType.Right, SampleStyle.ButtonColor.Blue)); _isInitTabButton = false; } SampleStyle.DrawWindowBackground(SampleStyle.ColorGrey); // Buttons - Nodes or Connections. GUILayout.BeginVertical(SampleStyle.Frame(SampleStyle.ColorLightestGrey)); EditorGUILayout.BeginHorizontal(); if (GUILayout.Toggle(_currentTab == AlphabetWindowTab.Nodes, Languages.GetText("MissionAlphabet-Tab-Nodes"), NodeTabButtonStyle, SampleStyle.TabButtonHeight)) { _editingMode = (_currentTab != AlphabetWindowTab.Nodes) ? EditingMode.None : _editingMode; _currentTab = AlphabetWindowTab.Nodes; } if (GUILayout.Toggle(_currentTab == AlphabetWindowTab.Connections, Languages.GetText("MissionAlphabet-Tab-Connections"), ConnectionTabButtonStyle, SampleStyle.TabButtonHeight)) { _editingMode = (_currentTab != AlphabetWindowTab.Connections) ? EditingMode.None : _editingMode; _currentTab = AlphabetWindowTab.Connections; } EditorGUILayout.EndHorizontal(); // Toggle for nodes interface and connection interface. switch (_currentTab) { case AlphabetWindowTab.Nodes: // Header. GUILayout.Label(Languages.GetText("MissionAlphabet-List-Nodes"), SampleStyle.HeaderTwo, SampleStyle.HeaderTwoHeightLayout); // Content of nodes. LayoutNodesInterface(); break; case AlphabetWindowTab.Connections: // Header. GUILayout.Label(Languages.GetText("MissionAlphabet-List-Connections"), SampleStyle.HeaderTwo, SampleStyle.HeaderTwoHeightLayout); // Content of connections. LayoutConnectionsInterface(); break; } // Event controller. EventController(); GUILayout.EndVertical(); }
void OnGUI() { Languages.Initialize(); _description = Languages.GetText("Index-About"); SampleStyle.DrawWindowBackground(SampleStyle.ColorGrey); GUILayout.BeginArea(Container.IndexWindowSplashCanvasArea); EditorGUI.DrawPreviewTexture(Container.IndexWindowSplashCanvasArea, SampleStyle.SplashImage); GUILayout.EndArea(); GUILayout.BeginArea(Container.IndexWindowButtonsCanvasArea, SampleStyle.Box); GUILayout.BeginVertical(SampleStyle.Frame(SampleStyle.ColorLightestGrey)); GUILayout.Label(_description, EditorStyles.wordWrappedLabel); GUILayout.BeginHorizontal(); if (GUILayout.Button(Languages.GetText("Index-CreateLevel"), SampleStyle.ButtonLeft, SampleStyle.MainButtonHeight)) { // Safety. if (EditorUtility.DisplayDialog("Create new level.", "Are you sure want to create a new level, this will overwrite the origin level?", "Yes", "No")) { // Initialization. LevelSettingsWindow.Initial(); // Reset the windows of mission grammar system. MissionGrammarSystem.AlphabetWindow.Initialize(); MissionGrammarSystem.RulesWindow.Initialize(); GraphGeneration.MissionGraphWindow.Initialize(); // Reset mission alphabet, mission grammar and rewrite system. MissionGrammarSystem.Alphabet.Initial(); MissionGrammarSystem.MissionGrammar.Initial(); MissionGrammarSystem.RewriteSystem.Initial(GraphGeneration.MissionGraphWindow.Seed); } } if (GUILayout.Button(Languages.GetText("Index-ImportLevel"), SampleStyle.ButtonMid, SampleStyle.MainButtonHeight)) { // Import Level. } if (GUILayout.Button(Languages.GetText("Index-ImportRewrite"), SampleStyle.ButtonMid, SampleStyle.MainButtonHeight)) { // Import Rewrite. string path = EditorUtility.OpenFilePanel("Import xml", "", "xml"); if (path.Length > 0) { DungeonLevel.OperateXML.Unserialize.UnserializeFromXml(path); DungeonWindow.ShowMissionAlphabetWindow(); DungeonWindow.ShowMissionRulesWindow(); DungeonWindow.ShowGenerateMissionWindow(); } } if (GUILayout.Button(Languages.GetText("Index-ExportLevel"), SampleStyle.ButtonRight, SampleStyle.MainButtonHeight)) { // Export Level. string path = EditorUtility.SaveFilePanel("Export xml", "", "Level.xml", "xml"); if (path.Length > 0) { DungeonLevel.OperateXML.Serialize.SerializeToXml(path); } } GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndArea(); }