public void AddItem(SideBarWidgetSelectItem item) { if (_itemType == WidgetType.Button) { AddButton(item); } else if (_itemType == WidgetType.Toggle) { AddToggle(item); } }
void BindButton(Button button, SideBarWidgetSelectItem data) { button.gameObject.SetActive(true); var textChild = button.GetComponentInChildren <Text>(); textChild.text = data.DisplayName; //SetText(button, data.DisplayName); var callback = data.OnSelectCallback; //BindListener(button, callback); button.onClick.RemoveAllListeners(); button.onClick.AddListener(() => { callback(); }); }
void AddButton(SideBarWidgetSelectItem item) { Button button = CreateButton(); button.transform.SetParent(transform); button.transform.localScale = Vector3.one; button.transform.localPosition = Vector3.zero; var textChild = button.GetComponentInChildren <Text>(); textChild.text = item.DisplayName; //SetText(button, item.DisplayName); BindButton(button, item); widgetItems.Add(button); }
void BindToggle(Toggle toggle, SideBarWidgetSelectItem data) { toggle.gameObject.SetActive(true); //SetText(toggle, data.DisplayName); var textChild = toggle.GetComponentInChildren <Text>(); textChild.text = data.DisplayName; var callback = data.OnSelectCallback; //BindListener(toggle, callback); toggle.onValueChanged.RemoveAllListeners(); toggle.onValueChanged.AddListener((isOn) => { if (isOn && callback != null) { callback(); } }); }
public void Init(List <string> textList, WidgetType itemType = WidgetType.Toggle) { if (_sidebarInited == true) { return; } _sidebarInited = true; //设置显示模式 gameObject.AddComponent <ToggleGroup>(); gameObject.AddComponent <GridLayoutGroup>(); var layout = GetComponent <GridLayoutGroup>(); layout.cellSize = new Vector2(65, 75); layout.spacing = new Vector2(0, 15); foreach (var text in textList) { SideBarWidgetSelectItem selectItem = new SideBarWidgetSelectItem(text, null); AddItem(selectItem); } }
void AddToggle(SideBarWidgetSelectItem item) { Toggle toggle = CreateToggle(); toggle.group = GetComponent <ToggleGroup>(); if (toggle.transform.Find("Active") != null) { toggle.graphic = toggle.transform.Find("Active").GetComponent <Image>(); } toggle.isOn = false; toggle.transform.SetParent(transform); toggle.transform.localScale = Vector3.one; toggle.transform.localPosition = Vector3.zero; var textChild = toggle.GetComponentInChildren <Text>(); textChild.text = item.DisplayName; //SetText(toggle, item.DisplayName); BindToggle(toggle, item); widgetItems.Add(toggle); }