public static void AddModPageToModMenu(ModPage modPage) { int buttonCol = 0; foreach (EntryType entryType in modPage.entryType) { switch (entryType) { case EntryType.Header: optionsMenu.AddHeader(0, modPage.headers[0]); modPage.headers.RemoveAt(0); buttonCol = 0; break; case EntryType.Button: ModButton b = modPage.buttons[0]; OptionsMenuButton omb = optionsMenu.AddButton(buttonCol, b.label, new System.Action(() => { b.onSelectedDelegate.Invoke(); }), null, b.helpText); omb.label.text = b.initialButtonText; modPage.buttons.RemoveAt(0); if (buttonCol == 0) { buttonCol = 1; } else { buttonCol = 0; } break; case EntryType.Slider: ModSlider s = modPage.sliders[0]; OptionsMenuSlider oms = optionsMenu.AddSlider(buttonCol, s.label, s.numberFormat, s.onAdjustAction, null); oms.label.text = s.initialSliderText; modPage.sliders.RemoveAt(0); if (buttonCol == 0) { buttonCol = 1; } else { buttonCol = 0; } break; default: break; } } }
public void AddSlider(ModSlider slider) { sliders.Add(slider); entryType.Add(EntryType.Slider); }