void DisplayChildSpeakerMode(string label, List <PlatformIntSetting> settings, FMODPlatform platform) { bool overriden = Settings.HasSetting(settings, platform); int current = Settings.GetSetting(settings, platform, 0); int index = Array.IndexOf(SpeakerModeValues, current); string[] valuesChild = new string[SpeakerModeDisplay.Length + 1]; Array.Copy(SpeakerModeDisplay, 0, valuesChild, 1, SpeakerModeDisplay.Length); valuesChild[0] = String.Format("Inherit ({0})", SpeakerModeDisplay[index]); int next = EditorGUILayout.Popup(label, overriden ? index + 1 : 0, valuesChild); if (next == 0) { Settings.RemoveSetting(settings, platform); } else { Settings.SetSetting(settings, platform, SpeakerModeValues[next - 1]); } }
void DisplayChildInt(string label, List <PlatformIntSetting> settings, FMODPlatform platform, int min, int max) { bool overriden = Settings.HasSetting(settings, platform); int current = Settings.GetSetting(settings, platform, 0); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel(label); overriden = !GUILayout.Toggle(!overriden, "Inherit"); int next = EditorGUILayout.IntSlider(current, min, max); EditorGUILayout.EndHorizontal(); if (overriden) { Settings.SetSetting(settings, platform, next); } else { Settings.RemoveSetting(settings, platform); } }
void DisplayChildFreq(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(FrequencyValues, current); int inheritIndex = Array.IndexOf(FrequencyValues, inherit); string[] valuesChild = new string[FrequencyDisplay.Length + 1]; Array.Copy(FrequencyDisplay, 0, valuesChild, 1, FrequencyDisplay.Length); valuesChild[0] = string.Format("Inherit ({0})", FrequencyDisplay[inheritIndex]); int next = EditorGUILayout.Popup(label, overriden ? currentIndex + 1 : 0, valuesChild); if (next == 0) { Settings.RemoveSetting(settings, platform); } else { Settings.SetSetting(settings, platform, FrequencyValues[next - 1]); } }
void DisplayChildBool(string label, List <PlatformBoolSetting> settings, FMODPlatform platform) { bool overriden = Settings.HasSetting(settings, platform); bool current = Settings.GetSetting(settings, platform, false); string[] toggleChild = new string[ToggleParent.Length + 1]; Array.Copy(ToggleParent, 0, toggleChild, 1, ToggleParent.Length); toggleChild[0] = String.Format("Inherit ({0})", ToggleParent[current ? 1 : 0]); int next = EditorGUILayout.Popup(label, overriden ? (current ? 2 : 1) : 0, toggleChild); if (next == 0) { if (overriden) { Settings.RemoveSetting(settings, platform); } } else { Settings.SetSetting(settings, platform, next == 2); } }
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)); } }