public override void OnInspectorGUI() { ScenarioManager scenarioManager = (ScenarioManager)target; serializedObject.Update(); // Simulation fields EditorGUILayout.Space(); EditorGUILayout.LabelField("Simulation Configuration", EditorStyles.boldLabel); EditorGUILayout.PropertyField(this.m_NumberOfExecutionNodes, new GUIContent("Execution Nodes")); if (GUILayout.Button("Create App Params")) { scenarioManager.GenerateAppParamsFiles(); } EditorGUILayout.TextArea("", GUI.skin.horizontalSlider); // Scenario Configuration fields EditorGUILayout.Space(); EditorGUILayout.LabelField("Scenario Configuration", EditorStyles.boldLabel); EditorGUILayout.PropertyField(this.m_MaxScenarioLength, new GUIContent("Max Scenario Frames")); EditorGUILayout.PropertyField(this.m_UseScheduler, new GUIContent("Use Scheduler")); EditorGUILayout.PropertyField(this.m_TerminateOnCompletion, new GUIContent("Terminate On Completion")); if (m_UseScheduler.boolValue) { EditorGUILayout.PropertyField(this.m_SchedulingSource, new GUIContent("Scheduling Source")); if (m_SchedulingSource.enumValueIndex == (int)SchedulingSource.SimulationScheduler) { EditorGUILayout.PropertyField(this.m_LocalAppParamsFile, new GUIContent("App Params File")); } } EditorGUILayout.PropertyField(this.m_ExecutionMultiplier, new GUIContent("Simulation Speed Multiplier")); EditorGUILayout.PropertyField(serializedObject.FindProperty("scenarioAssets"), new GUIContent("Scenarios")); serializedObject.ApplyModifiedProperties(); }