public override void OnBodyGUI() { // Override label width for this node (since some names are quite long) LabelWidth = 184; base.OnBodyGUI(); // Get reference to the current node m_TrainingExamplesNode = (target as TrainingExamplesNode); // TOTAL NUMBER OF TRAINING EXAMPLES ShowTotalNumberOfTrainingData(); // DESIRED OUTPUT CONFIG AND BUILD OUTPUT LIST EditorGUILayout.Space(); ShowDesiredOutputFeaturesLogic(); EditorGUILayout.Space(); // RECORD EXAMPLES BUTTON ShowRecordExamplesButton(); // RECORD ONE SINGLE EXAMPLE BUTTON ShowRecordOneExampleButton(); // CLEAR ALL TRAINING EXAMPLES BUTTON ShowClearAllExamplesButton(); // Debug buttons loading stuff if (GUILayout.Button("Load All Data From Disk")) { m_TrainingExamplesNode.LoadDataFromDisk(); } // WARNINGS IF FEATURES CHANGE CheckInputFeaturesChanges(); CheckOutputFeaturesChanges(); // TRAINING DATA DROPDOWN ShowDataDropdown(); // Error with output configuration var nodeTraining = target as TrainingExamplesNode; if (nodeTraining.DesiredOutputsConfig.Count == 0) { EditorGUILayout.HelpBox("There are no Desired Outputs Configured!", MessageType.Error); } }
/// <summary> /// Show the load, delete and record buttons /// </summary> protected virtual void ShowButtons() { m_BodyRectButtons.x = m_BodyRectButtons.x + 30; m_BodyRectButtons.y = m_BodyRectButtons.y + 20; m_BodyRectButtons.width = m_BodyRectButtons.width - 70; GUILayout.BeginArea(m_BodyRectButtons); GUILayout.BeginHorizontal(); if (GUILayout.Button("Record One /n example", Resources.Load <GUISkin>("GUIStyles/InteractMLGUISkin").GetStyle("Load Button"))) { m_TrainingExamplesNode.LoadDataFromDisk(); } GUILayout.Label(""); ShowClearAllExamplesButton(); GUILayout.Label(""); string recordNameButton = ShowRecordExamplesButton(); GUILayout.EndHorizontal(); GUILayout.EndArea(); m_BodyRectButtons.x = m_BodyRectButtons.x - 10; m_BodyRectButtons.y = m_BodyRectButtons.y + 35; m_BodyRectButtons.width = m_BodyRectButtons.width + 40; GUILayout.BeginArea(m_BodyRectButtons); GUILayout.BeginHorizontal(); GUILayout.Label("Load Data", Resources.Load <GUISkin>("GUIStyles/InteractMLGUISkin").GetStyle("Load Button Yellow")); GUILayout.Label(""); GUILayout.Label("Delete Data", Resources.Load <GUISkin>("GUIStyles/InteractMLGUISkin").GetStyle("Delete Button Pink")); GUILayout.Label(""); GUILayout.Label(recordNameButton, Resources.Load <GUISkin>("GUIStyles/InteractMLGUISkin").GetStyle("Record Button Green")); GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public override void OnBodyGUI() { // Override label width for this node (since some names are quite long) LabelWidth = 184; base.OnBodyGUI(); // Get reference to the current node m_TrainingExamplesNode = (target as TrainingExamplesNode); // SHOW KEYBOARD SHORTCUTS // Show information about runtime keys for interaction GUIStyle styleGUIBox = new GUIStyle(GUI.skin.box); styleGUIBox.richText = true; if (m_TrainingExamplesNode.EnableKeyboardControl) { GUILayout.Box("<b>Keyboard Shortcuts:</b>\n <b>Record:</b> " + m_TrainingExamplesNode.RecordDataKey.ToString(), styleGUIBox); // Show key configs m_TrainingExamplesNode.RecordDataKey = (KeyCode)EditorGUILayout.EnumFlagsField(m_TrainingExamplesNode.RecordDataKey); EditorGUILayout.Space(); } // SHOW INPUT CONFIG ShowDesiredInputsConfigLogic(); EditorGUILayout.Space(); // SHOW OUTPUT CONFIG ShowDesiredOutputsConfigLogic(); EditorGUILayout.Space(); // TOTAL NUMBER OF TRAINING EXAMPLES ShowTotalNumberOfTrainingData(); // DESIRED OUTPUT CONFIG AND BUILD OUTPUT LIST EditorGUILayout.Space(); ShowDesiredOutputFeaturesLogic(); EditorGUILayout.Space(); // RECORD EXAMPLES BUTTON ShowRecordExamplesButton(); // RECORD ONE SINGLE EXAMPLE BUTTON ShowRecordOneExampleButton(); // CLEAR ALL TRAINING EXAMPLES BUTTON ShowClearAllExamplesButton(); // Debug buttons loading stuff if (GUILayout.Button("Load All Data From Disk")) { m_TrainingExamplesNode.LoadDataFromDisk(); } // WARNINGS IF FEATURES CHANGE CheckInputFeaturesChanges(); CheckOutputFeaturesChanges(); // TRAINING DATA DROPDOWN ShowDataDropdown(); // Error with output configuration var nodeTraining = target as TrainingExamplesNode; if (nodeTraining.DesiredOutputsConfig.Count == 0) { EditorGUILayout.HelpBox("There are no Desired Outputs Configured!", MessageType.Error); } }