void DisplayChildBuildDirectories(string label, List <PlatformStringSetting> settings, FMODPlatform platform) { string[] buildDirectories = EditorUtils.GetBankPlatforms(); bool overriden = Settings.HasSetting(settings, platform); string current = Settings.GetSetting(settings, platform, "Desktop"); string inherit = Settings.GetSetting(settings, Settings.GetParent(platform), "Desktop"); int index = Array.IndexOf(buildDirectories, current); if (index < 0) { index = 0; } string[] valuesChild = new string[buildDirectories.Length + 1]; Array.Copy(buildDirectories, 0, valuesChild, 1, buildDirectories.Length); valuesChild[0] = string.Format("Inherit ({0})", inherit); int next = EditorGUILayout.Popup(label, overriden ? index + 1 : 0, valuesChild); if (next == 0) { Settings.RemoveSetting(settings, platform); Settings.RemoveSetting(((Settings)target).SpeakerModeSettings, platform); } else { Settings.SetSetting(settings, platform, buildDirectories[next - 1]); } }
void DisplayChildSpeakerMode(string label, List <PlatformIntSetting> settings, FMODPlatform platform) { bool overriden = Settings.HasSetting(settings, platform); int current = Settings.GetSetting(settings, platform, 0); int inherit = Settings.GetSetting(settings, Settings.GetParent(platform), 0); int currentIndex = Array.IndexOf(SpeakerModeValues, current); int inheritIndex = Array.IndexOf(SpeakerModeValues, inherit); string[] valuesChild = new string[SpeakerModeDisplay.Length + 1]; Array.Copy(SpeakerModeDisplay, 0, valuesChild, 1, SpeakerModeDisplay.Length); valuesChild[0] = string.Format("Inherit ({0})", SpeakerModeDisplay[inheritIndex]); int next = EditorGUILayout.Popup(label, overriden ? currentIndex + 1 : 0, valuesChild); if (next == 0) { Settings.RemoveSetting(settings, platform); } else { Settings.SetSetting(settings, platform, SpeakerModeValues[next - 1]); } }
void DisplayChildBool(string label, List <PlatformBoolSetting> settings, FMODPlatform platform) { bool overriden = Settings.HasSetting(settings, platform); TriStateBool parent = Settings.GetSetting(settings, Settings.GetParent(platform), TriStateBool.Disabled); TriStateBool current = Settings.GetSetting(settings, platform, TriStateBool.Disabled); string[] toggleChild = new string[ToggleParent.Length + 1]; Array.Copy(ToggleParent, 0, toggleChild, 1, ToggleParent.Length); toggleChild[0] = string.Format("Inherit ({0})", ToggleParent[(int)parent]); int next = EditorGUILayout.Popup(label, overriden ? (int)current + 1: 0, toggleChild); if (next == 0) { if (overriden) { Settings.RemoveSetting(settings, platform); } } else { Settings.SetSetting(settings, platform, (TriStateBool)(next - 1)); } }