public virtual IModButtonBase AddButton(IModButtonBase button, int index) { var transform = button.Button.transform; var scale = transform.localScale; transform.parent = Layout.transform; button.Index = index; button.Initialize(this); BaseButtons.Add(button); button.Button.transform.localScale = scale; return(button); }
public virtual void Initialize(Menu menu, LayoutGroup layoutGroup) { Menu = menu; Layout = layoutGroup; var promptButtons = Menu.GetComponentsInChildren <ButtonWithHotkeyImageElement>(true).Select(x => x.GetComponent <Button>()); BaseButtons = promptButtons.Select(x => new ModPromptButton(x, this)).Cast <IModButtonBase>().ToList(); var ordinaryButtons = Menu.GetComponentsInChildren <Button>(true).Except(promptButtons); BaseButtons.AddRange(ordinaryButtons.Select(x => new ModTitleButton(x, this)).Cast <IModButtonBase>().ToList()); ToggleInputs = Menu.GetComponentsInChildren <TwoButtonToggleElement>(true).Select(x => new ModToggleInput(x, this)).Cast <IModToggleInput>().ToList(); SliderInputs = Menu.GetComponentsInChildren <SliderElement>(true).Select(x => new ModSliderInput(x, this)).Cast <IModSliderInput>().ToList(); TextInputs = new List <IModTextInput>(); NumberInputs = new List <IModNumberInput>(); ComboInputs = new List <IModComboInput>(); }