private void ShowPlatformSettings() { BuildPlatform[] validPlatforms = GetBuildPlayerValidPlatforms(); if (validPlatforms.Length > 0) { GUILayout.Label("Platform settings", EditorStyles.boldLabel); int platformIndex = EditorGUILayout.BeginPlatformGrouping(validPlatforms, null); if (validPlatforms[platformIndex].name == BuildPipeline.GetEditorTargetName()) { ShowEditorSettings(); } else { BuildTargetGroup targetGroup = validPlatforms[platformIndex].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { desktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension extension = ModuleManager.GetPluginImporterExtension(targetGroup); if (extension != null) { extension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); } }
private void ShowPlatformSettings() { BuildPlayerWindow.BuildPlatform[] buildPlayerValidPlatforms = this.GetBuildPlayerValidPlatforms(); if (buildPlayerValidPlatforms.Length > 0) { GUILayout.Label("Platform settings", EditorStyles.boldLabel, new GUILayoutOption[0]); int num = EditorGUILayout.BeginPlatformGrouping(buildPlayerValidPlatforms, null); if (buildPlayerValidPlatforms[num].name == BuildPipeline.GetEditorTargetName()) { this.ShowEditorSettings(); } else { BuildTargetGroup targetGroup = buildPlayerValidPlatforms[num].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { this.desktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(targetGroup); if (pluginImporterExtension != null) { pluginImporterExtension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); } }
private void ShowPlatformSettings() { BuildPlayerWindow.BuildPlatform[] playerValidPlatforms = this.GetBuildPlayerValidPlatforms(); if (playerValidPlatforms.Length <= 0) { return; } GUILayout.Label("Platform settings", EditorStyles.boldLabel, new GUILayoutOption[0]); int index = EditorGUILayout.BeginPlatformGrouping(playerValidPlatforms, (GUIContent)null); if (playerValidPlatforms[index].name == BuildPipeline.GetEditorTargetName()) { this.ShowEditorSettings(); } else { BuildTargetGroup targetGroup = playerValidPlatforms[index].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { this.m_DesktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension importerExtension = ModuleManager.GetPluginImporterExtension(targetGroup); if (importerExtension != null) { importerExtension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); }
internal static void ShowPlatformSpecificSettings(List <BaseTextureImportPlatformSettings> platformSettings, int selected) { BaseTextureImportPlatformSettings realPS = platformSettings[selected + 1]; if (!realPS.model.isDefault) { EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = realPS.model.overriddenIsDifferent; BuildPlatform[] validPlatforms = GetBuildPlayerValidPlatforms(); string title = string.Format(Styles.overrideFor.text, validPlatforms[selected].title.text); bool newOverride = EditorGUILayout.ToggleLeft(title, realPS.model.platformTextureSettings.overridden); EditorGUI.showMixedValue = false; if (EditorGUI.EndChangeCheck()) { realPS.model.SetOverriddenForAll(newOverride); SyncPlatformSettings(platformSettings); } } // Disable size and format GUI if not overwritten for all objects bool notAllOverriddenForThisPlatform = (!realPS.model.isDefault && !realPS.model.allAreOverridden); using (new EditorGUI.DisabledScope(notAllOverriddenForThisPlatform)) { // acquire the platform support module for this platform, and present the appropriate UI ITextureImportSettingsExtension textureSettingsExtension = ModuleManager.GetTextureImportSettingsExtension(realPS.model.buildTarget); textureSettingsExtension.ShowImportSettings(realPS); //just do this once, regardless of whether things changed SyncPlatformSettings(platformSettings); } EditorGUILayout.EndPlatformGrouping(); }
private void OnAudioImporterGUI(bool selectionContainsTrackerFile) { if (!selectionContainsTrackerFile) { EditorGUILayout.PropertyField(m_ForceToMono); EditorGUI.indentLevel++; using (new EditorGUI.DisabledScope(!m_ForceToMono.boolValue)) { EditorGUILayout.PropertyField(m_Normalize); } EditorGUI.indentLevel--; EditorGUILayout.PropertyField(m_LoadInBackground); EditorGUILayout.PropertyField(m_Ambisonic); } // We need to sort them so every extraDataTarget have them ordered correctly and we can use serializedProperties. BuildPlatform[] validPlatforms = BuildPlatforms.instance.GetValidPlatforms().OrderBy(platform => platform.namedBuildTarget.TargetName).ToArray(); GUILayout.Space(10); int shownSettingsPage = EditorGUILayout.BeginPlatformGrouping(validPlatforms, Style.DefaultPlatform); if (shownSettingsPage == -1) { OnSampleSettingGUI(new BuildPlatform("", "", NamedBuildTarget.Unknown, BuildTarget.NoTarget, true), m_DefaultSampleSettings, selectionContainsTrackerFile); } else { BuildPlatform platform = validPlatforms[shownSettingsPage]; SerializedProperty platformProperty = extraDataSerializedObject.FindProperty($"sampleSettingOverrides.Array.data[{shownSettingsPage}]"); var isOverriddenProperty = platformProperty.FindPropertyRelative("isOverridden"); // Define the UI state of the override here. using (var horizontal = new EditorGUILayout.HorizontalScope()) { var label = EditorGUIUtility.TrTempContent("Override for " + validPlatforms[shownSettingsPage].title.text); using (var propertyScope = new EditorGUI.PropertyScope(horizontal.rect, label, isOverriddenProperty)) { EditorGUI.showMixedValue = isOverriddenProperty.hasMultipleDifferentValues; using (var changed = new EditorGUI.ChangeCheckScope()) { var newValue = EditorGUILayout.ToggleLeft(propertyScope.content, isOverriddenProperty.boolValue); if (changed.changed) { isOverriddenProperty.boolValue = newValue; } } EditorGUI.showMixedValue = false; } } using (new EditorGUI.DisabledScope(isOverriddenProperty.hasMultipleDifferentValues || !isOverriddenProperty.boolValue)) { OnSampleSettingGUI(platform, platformProperty.FindPropertyRelative("settings"), selectionContainsTrackerFile); } } EditorGUILayout.EndPlatformGrouping(); }
private void OnTargetsInspectorGUI() { BuildPlatform[] array = BuildPlatforms.instance.GetValidPlatforms().ToArray(); int num = EditorGUILayout.BeginPlatformGrouping(array, GUIContent.Temp("Default")); string platformName = (num != -1) ? array[num].name : "Default"; this.OnTargetInspectorGUI(num + 1, platformName); EditorGUILayout.EndPlatformGrouping(); }
private void OnTargetsInspectorGUI() { BuildPlatform[] validPlatforms = BuildPlatforms.instance.GetValidPlatforms().ToArray(); int shownSettingsPage = EditorGUILayout.BeginPlatformGrouping(validPlatforms, GUIContent.Temp("Default")); string platformName = (shownSettingsPage == -1) ? "Default" : validPlatforms[shownSettingsPage].name; OnTargetInspectorGUI(shownSettingsPage + 1, platformName); EditorGUILayout.EndPlatformGrouping(); }
public override void OnInspectorGUI() { BuildPlatform[] array = BuildPlatforms.instance.GetValidPlatforms().ToArray(); BuildTargetGroup targetGroup = array[EditorGUILayout.BeginPlatformGrouping(array, null, GUIStyle.none)].targetGroup; if (this.verticalLayout) { this.OnGuiVertical(targetGroup); } else { this.OnGuiHorizontal(targetGroup); } EditorGUILayout.EndPlatformGrouping(); }
public override void OnInspectorGUI() { BuildPlayerWindow.BuildPlatform[] platforms = BuildPlayerWindow.GetValidPlatforms().ToArray(); BuildTargetGroup targetGroup = platforms[EditorGUILayout.BeginPlatformGrouping(platforms, null, GUIStyle.none)].targetGroup; if (this.verticalLayout) { this.OnGuiVertical(targetGroup); } else { this.OnGuiHorizontal(targetGroup); } EditorGUILayout.EndPlatformGrouping(); }
public override void OnInspectorGUI() { BuildPlatform[] validPlatforms = BuildPlatforms.instance.GetValidPlatforms().ToArray(); BuildTargetGroup platform = validPlatforms[EditorGUILayout.BeginPlatformGrouping(validPlatforms, null, GUIStyle.none)].targetGroup; if (verticalLayout) { OnGuiVertical(platform); } else { OnGuiHorizontal(platform); } EditorGUILayout.EndPlatformGrouping(); }
public override void OnInspectorGUI() { BuildPlatform[] validPlatforms = BuildPlatforms.instance.GetValidPlatforms().ToArray(); BuildPlatform platform = validPlatforms[EditorGUILayout.BeginPlatformGrouping(validPlatforms, null, EditorStyles.frameBox)]; if (verticalLayout) { OnGuiVertical(platform); } else { OnGuiHorizontal(platform); } EditorGUILayout.EndPlatformGrouping(); }
private void OnAudioImporterGUI(bool selectionContainsTrackerFile) { if (!selectionContainsTrackerFile) { EditorGUILayout.PropertyField(this.m_ForceToMono); ++EditorGUI.indentLevel; EditorGUI.BeginDisabledGroup(!this.m_ForceToMono.boolValue); EditorGUILayout.PropertyField(this.m_Normalize); EditorGUI.EndDisabledGroup(); --EditorGUI.indentLevel; EditorGUILayout.PropertyField(this.m_LoadInBackground); } BuildPlayerWindow.BuildPlatform[] array = BuildPlayerWindow.GetValidPlatforms().ToArray(); GUILayout.Space(10f); int index = EditorGUILayout.BeginPlatformGrouping(array, GUIContent.Temp("Default")); if (index == -1) { bool disablePreloadAudioDataOption = this.m_DefaultSampleSettings.settings.loadType == AudioClipLoadType.Streaming; this.OnSampleSettingGUI(BuildTargetGroup.Unknown, this.GetMultiValueStatus(BuildTargetGroup.Unknown), selectionContainsTrackerFile, ref this.m_DefaultSampleSettings, disablePreloadAudioDataOption); } else { BuildTargetGroup targetGroup = array[index].targetGroup; AudioImporterInspector.SampleSettingProperties sampleSettingOverride = this.m_SampleSettingOverrides[targetGroup]; AudioImporterInspector.OverrideStatus overrideStatus = this.GetOverrideStatus(targetGroup); EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = overrideStatus == AudioImporterInspector.OverrideStatus.MixedOverrides && !sampleSettingOverride.overrideIsForced; bool flag1 = sampleSettingOverride.overrideIsForced && sampleSettingOverride.forcedOverrideState || !sampleSettingOverride.overrideIsForced && overrideStatus != AudioImporterInspector.OverrideStatus.NoOverrides; bool flag2 = EditorGUILayout.Toggle("Override for " + array[index].name, flag1, new GUILayoutOption[0]); EditorGUI.showMixedValue = false; if (EditorGUI.EndChangeCheck()) { sampleSettingOverride.forcedOverrideState = flag2; sampleSettingOverride.overrideIsForced = true; } bool disablePreloadAudioDataOption = (sampleSettingOverride.overrideIsForced && sampleSettingOverride.forcedOverrideState || this.GetOverrideStatus(targetGroup) == AudioImporterInspector.OverrideStatus.AllOverrides) && sampleSettingOverride.settings.loadType == AudioClipLoadType.Streaming; AudioImporterInspector.MultiValueStatus multiValueStatus = this.GetMultiValueStatus(targetGroup); EditorGUI.BeginDisabledGroup((!sampleSettingOverride.overrideIsForced || !sampleSettingOverride.forcedOverrideState ? (overrideStatus == AudioImporterInspector.OverrideStatus.AllOverrides ? 1 : 0) : 1) == 0); this.OnSampleSettingGUI(targetGroup, multiValueStatus, selectionContainsTrackerFile, ref sampleSettingOverride, disablePreloadAudioDataOption); EditorGUI.EndDisabledGroup(); this.m_SampleSettingOverrides[targetGroup] = sampleSettingOverride; } EditorGUILayout.EndPlatformGrouping(); }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUI.BeginChangeCheck(); EditorGUILayout.HelpBox(Content.kGeneralSettingsWarning.text, MessageType.Warning, true); Rect r = EditorGUILayout.BeginVertical(Styles.settingsFramebox); GUIStyle buttonStyle = null; Rect buttonRect = GetTabRect(r, 0, 2, out buttonStyle); if (GUI.Toggle(buttonRect, m_EditorSelected, Content.kEditorLabel, buttonStyle)) { m_EditorSelected = true; } buttonRect = GetTabRect(r, 1, 2, out buttonStyle); if (GUI.Toggle(buttonRect, !m_EditorSelected, Content.kPlayerLabel, buttonStyle)) { m_EditorSelected = false; } GUILayoutUtility.GetRect(10, EditorGUI.kTabButtonHeight); EditorGUI.EndChangeCheck(); SerializedProperty currentSettings; if (m_EditorSelected) { EditorGUI.BeginChangeCheck(); GUILayout.Label("Settings for Editor"); EditorGUILayout.HelpBox(Content.kEditorSettingsWarning.text, MessageType.Warning, true); EditorGUILayout.Space(); currentSettings = m_EditorMemorySettingsProperty; MemorySettingsUtils.InitializeDefaultsForPlatform(-1); } else { GUILayout.Label("Settings for Players"); m_SelectedPlatform = EditorGUILayout.BeginPlatformGrouping(m_ValidPlatforms, null, Styles.settingsFramebox); GUILayout.Label(string.Format(L10n.Tr("Settings for {0}"), m_ValidPlatforms[m_SelectedPlatform].title.text)); if (!m_MemorySettingsDictionary.TryGetValue(m_ValidPlatforms[m_SelectedPlatform].targetGroup, out currentSettings)) { MemorySettingsUtils.SetPlatformDefaultValues((int)m_ValidPlatforms[m_SelectedPlatform].targetGroup); serializedObject.Update(); OnEnable(); m_MemorySettingsDictionary.TryGetValue(m_ValidPlatforms[m_SelectedPlatform].targetGroup, out currentSettings); } MemorySettingsUtils.InitializeDefaultsForPlatform((int)m_ValidPlatforms[m_SelectedPlatform].targetGroup); } if (BeginGroup(0, Content.kMainAllocatorsTitle)) { if (BeginGroup(1, Content.kMainAllocatorTitle)) { OptionalVariableField(currentSettings, "m_MainAllocatorBlockSize", Content.kMainAllocatorBlockSize); OptionalVariableField(currentSettings, "m_ThreadAllocatorBlockSize", Content.kThreadAllocatorBlockSize); } EndGroup(); if (BeginGroup(2, Content.kGfxAllocatorTitle)) { OptionalVariableField(currentSettings, "m_MainGfxBlockSize", Content.kMainGfxBlockSize); OptionalVariableField(currentSettings, "m_ThreadGfxBlockSize", Content.kThreadGfxBlockSize); } EndGroup(); if (BeginGroup(3, Content.kExtraAllocatorTitle)) { OptionalVariableField(currentSettings, "m_CacheBlockSize", Content.kCacheBlockSize); OptionalVariableField(currentSettings, "m_TypetreeBlockSize", Content.kTypetreeBlockSize); } EndGroup(); if (BeginGroup(4, Content.kBucketAllocatorTitle)) { OptionalVariableField(currentSettings, "m_BucketAllocatorGranularity", Content.kBucketAllocatorGranularity); OptionalVariableField(currentSettings, "m_BucketAllocatorBucketsCount", Content.kBucketAllocatorBucketsCount, false); OptionalVariableField(currentSettings, "m_BucketAllocatorBlockSize", Content.kBucketAllocatorBlockSize); OptionalVariableField(currentSettings, "m_BucketAllocatorBlockCount", Content.kBucketAllocatorBlockCount, false); } EndGroup(); } EndGroup(); if (BeginGroup(5, m_EditorSelected ? Content.kTempAllocatorTitle_Editor : Content.kTempAllocatorTitle_Player)) { OptionalVariableField(currentSettings, "m_TempAllocatorSizeMain", Content.kTempAllocatorSizeMain); OptionalVariableField(currentSettings, "m_TempAllocatorSizeJobWorker", Content.kTempAllocatorSizeJobWorker); OptionalVariableField(currentSettings, "m_TempAllocatorSizeBackgroundWorker", Content.kTempAllocatorSizeBackgroundWorker); OptionalVariableField(currentSettings, "m_TempAllocatorSizePreloadManager", Content.kTempAllocatorSizePreloadManager); OptionalVariableField(currentSettings, "m_TempAllocatorSizeAudioWorker", Content.kTempAllocatorSizeAudioWorker); OptionalVariableField(currentSettings, "m_TempAllocatorSizeCloudWorker", Content.kTempAllocatorSizeCloudWorker); OptionalVariableField(currentSettings, "m_TempAllocatorSizeGfx", Content.kTempAllocatorSizeGfx); OptionalVariableField(currentSettings, "m_TempAllocatorSizeGIBakingWorker", Content.kTempAllocatorSizeGIBakingWorker); OptionalVariableField(currentSettings, "m_TempAllocatorSizeNavMeshWorker", Content.kTempAllocatorSizeNavMeshWorker); } EndGroup(); if (BeginGroup(6, Content.kJobTempAllocatorTitle)) { OptionalVariableField(currentSettings, "m_JobTempAllocatorBlockSize", Content.kJobTempAllocatorBlockSize); OptionalVariableField(currentSettings, "m_BackgroundJobTempAllocatorBlockSize", Content.kBackgroundJobTempAllocatorBlockSize); OptionalVariableField(currentSettings, "m_JobTempAllocatorReducedBlockSize", Content.kJobTempAllocatorReducedBlockSize); } EndGroup(); if (BeginGroup(7, Content.kProfilerAllocatorTitle)) { OptionalVariableField(currentSettings, "m_ProfilerBlockSize", Content.kProfilerBlockSize); if (m_EditorSelected) { OptionalVariableField(currentSettings, "m_ProfilerEditorBlockSize", Content.kProfilerEditorBlockSize); } if (BeginGroup(8, Content.kProfilerBucketAllocatorTitle)) { OptionalVariableField(currentSettings, "m_ProfilerBucketAllocatorGranularity", Content.kProfilerBucketAllocatorGranularity); OptionalVariableField(currentSettings, "m_ProfilerBucketAllocatorBucketsCount", Content.kProfilerBucketAllocatorBucketsCount, false); OptionalVariableField(currentSettings, "m_ProfilerBucketAllocatorBlockSize", Content.kProfilerBucketAllocatorBlockSize); OptionalVariableField(currentSettings, "m_ProfilerBucketAllocatorBlockCount", Content.kProfilerBucketAllocatorBlockCount, false); } EndGroup(); } EndGroup(); if (m_EditorSelected) { if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); MemorySettingsUtils.WriteEditorMemorySettings(); } } else { EditorGUILayout.EndPlatformGrouping(); serializedObject.ApplyModifiedProperties(); } EditorGUILayout.EndVertical(); }
public override void OnInspectorGUI() { EditorGUI.BeginDisabledGroup(false); BuildPlayerWindow.BuildPlatform[] buildPlayerValidPlatforms = this.GetBuildPlayerValidPlatforms(); GUILayout.Label("Select platforms for plugin", EditorStyles.boldLabel, new GUILayoutOption[0]); EditorGUILayout.BeginVertical(GUI.skin.box, new GUILayoutOption[0]); this.ShowGeneralOptions(); EditorGUILayout.EndVertical(); EditorGUI.BeginChangeCheck(); if (EditorGUI.EndChangeCheck()) { this.hasModified = true; } GUILayout.Space(10f); if (buildPlayerValidPlatforms.Length > 0) { GUILayout.Label("Platform settings", EditorStyles.boldLabel, new GUILayoutOption[0]); int num = EditorGUILayout.BeginPlatformGrouping(buildPlayerValidPlatforms, null); if (buildPlayerValidPlatforms[num].name == BuildPipeline.GetEditorTargetName()) { this.ShowEditorSettings(); } else { BuildTargetGroup targetGroup = buildPlayerValidPlatforms[num].targetGroup; if (targetGroup == BuildTargetGroup.Standalone) { this.desktopExtension.OnPlatformSettingsGUI(this); } else { IPluginImporterExtension pluginImporterExtension = ModuleManager.GetPluginImporterExtension(targetGroup); if (pluginImporterExtension != null) { pluginImporterExtension.OnPlatformSettingsGUI(this); } } } EditorGUILayout.EndPlatformGrouping(); } EditorGUI.EndDisabledGroup(); base.ApplyRevertGUI(); GUILayout.Label("Information", EditorStyles.boldLabel, new GUILayoutOption[0]); this.informationScrollPosition = EditorGUILayout.BeginVerticalScrollView(this.informationScrollPosition, new GUILayoutOption[0]); foreach (KeyValuePair <string, string> current in this.pluginInformation) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.Label(current.Key, new GUILayoutOption[] { GUILayout.Width(50f) }); GUILayout.TextField(current.Value, new GUILayoutOption[0]); GUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); GUILayout.FlexibleSpace(); if (this.importer.isNativePlugin) { EditorGUILayout.HelpBox("Once a native plugin is loaded from script, it's never unloaded. If you deselect a native plugin and it's already loaded, please restart Unity.", MessageType.Warning); } }
private void OnAudioImporterGUI(bool selectionContainsTrackerFile) { if (!selectionContainsTrackerFile) { EditorGUILayout.PropertyField(m_ForceToMono); EditorGUI.indentLevel++; using (new EditorGUI.DisabledScope(!m_ForceToMono.boolValue)) { EditorGUILayout.PropertyField(m_Normalize); } EditorGUI.indentLevel--; EditorGUILayout.PropertyField(m_LoadInBackground); EditorGUILayout.PropertyField(m_Ambisonic); } BuildPlatform[] validPlatforms = BuildPlatforms.instance.GetValidPlatforms().ToArray(); GUILayout.Space(10); int shownSettingsPage = EditorGUILayout.BeginPlatformGrouping(validPlatforms, GUIContent.Temp("Default")); if (shownSettingsPage == -1) { // If the loadtype is streaming on the selected platform, gray out the "Preload Audio Data" option and show the checkbox as unchecked. bool disablePreloadAudioDataOption = (m_DefaultSampleSettings.settings.loadType == AudioClipLoadType.Streaming); MultiValueStatus multiStatus = GetMultiValueStatus(BuildTargetGroup.Unknown); OnSampleSettingGUI(BuildTargetGroup.Unknown, multiStatus, selectionContainsTrackerFile, ref m_DefaultSampleSettings, disablePreloadAudioDataOption); } else { BuildTargetGroup platform = validPlatforms[shownSettingsPage].targetGroup; SampleSettingProperties properties = m_SampleSettingOverrides[platform]; OverrideStatus status = GetOverrideStatus(platform); // Define the UI state of the override here. EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = (status == OverrideStatus.MixedOverrides) && !properties.overrideIsForced; bool overrideState = (properties.overrideIsForced && properties.forcedOverrideState) || (!properties.overrideIsForced && status != OverrideStatus.NoOverrides); overrideState = EditorGUILayout.ToggleLeft("Override for " + validPlatforms[shownSettingsPage].title.text, overrideState); EditorGUI.showMixedValue = false; if (EditorGUI.EndChangeCheck()) { properties.forcedOverrideState = overrideState; properties.overrideIsForced = true; } // If the loadtype is streaming on the selected platform, gray out the "Preload Audio Data" option and show the checkbox as unchecked. bool disablePreloadAudioDataOption = ((properties.overrideIsForced && properties.forcedOverrideState) || GetOverrideStatus(platform) == OverrideStatus.AllOverrides) && properties.settings.loadType == AudioClipLoadType.Streaming; MultiValueStatus multiStatus = GetMultiValueStatus(platform); bool platformSettingsDisabled = !((properties.overrideIsForced && properties.forcedOverrideState) || status == OverrideStatus.AllOverrides); using (new EditorGUI.DisabledScope(platformSettingsDisabled)) { OnSampleSettingGUI(platform, multiStatus, selectionContainsTrackerFile, ref properties, disablePreloadAudioDataOption); } m_SampleSettingOverrides[platform] = properties; } EditorGUILayout.EndPlatformGrouping(); }