public void InspectorGUI(SerializedObject serializedObject) { serializedObject.Update(); m_DebugSettings.Update(); var core = (ModuleLoaderCore)serializedObject.targetObject; using (new GUILayout.HorizontalScope()) { if (GUILayout.Button("Reload Modules")) { core.ReloadModules(); } GUILayout.FlexibleSpace(); } EditorGUILayout.LabelField("Debug Settings", EditorStyles.boldLabel); EditorGUILayout.PropertyField(m_FunctionalityInjectionModuleLoggingProperty, new GUIContent("FI Module Logging")); EditorGUILayout.PropertyField(m_ModuleHideFlagsProperty); EditorGUILayout.PropertyField(m_OverridePlatformInPlaymodeProperty); using (new EditorGUI.DisabledScope(!m_OverridePlatformInPlaymodeProperty.boolValue)) { EditorGUILayout.PropertyField(m_PlaymodePlatformOverrideProperty); } m_DebugSettings.ApplyModifiedProperties(); EditorGUILayout.Separator(); EditorGUILayout.LabelField("Module Settings", EditorStyles.boldLabel); EditorGUILayout.PropertyField(m_SettingsOverrideProperty); EditorGUILayout.PropertyField(m_PlatformOverridesProperty, true); var currentOverride = core.currentOverride; using (new EditorGUI.DisabledScope(true)) { EditorGUILayout.ObjectField("Current override", currentOverride, typeof(ModuleLoaderSettingsOverride), false); } SerializedProperty excludedTypesProperty; if (currentOverride) { var so = new SerializedObject(currentOverride); excludedTypesProperty = so.FindProperty("m_ExcludedTypes"); } else { excludedTypesProperty = serializedObject.FindProperty("m_ExcludedTypes"); } var modified = m_SettingsEditor.DrawEnabledModules(core.excludedTypes, excludedTypesProperty); DrawModules(ref m_ShowModuleLoadOrder, core.modules, "Load Order"); DrawModules(ref m_ShowModuleUnloadOrder, core.moduleUnloads, "Unload Order"); DrawModules(ref m_ShowModuleBehaviorCallbackOrder, core.behaviorCallbackModules, "Behavior Callback Order"); DrawModules(ref m_ShowModuleSceneCallbackOrder, core.sceneCallbackModules, "Scene Callback Order"); DrawModules(ref m_ShowModuleBuildCallbackOrder, core.buildCallbackModules, "Build Callback Order"); DrawModules(ref m_ShowModuleAssetCallbackOrder, core.assetCallbackModules, "Asset Callback Order"); modified |= serializedObject.ApplyModifiedProperties(); if (modified) { core.ReloadModules(); } }
public override void OnInspectorGUI() { m_SettingsEditor.DrawEnabledModules(m_ExcludedTypes, m_ExcludedTypesProperty); }