/// <summary> /// 创建item /// </summary> /// <param name="text"></param> /// <param name="index"></param> /// <param name="message"></param> /// <returns></returns> protected SubUIRuntimeButtonProxy CreateLayoutItem(string text, int index, string message, bool interactable) { if (itemTemplate == null) { Debug.LogError("SubUIButtonLayoutGroup -> please set a template."); return(null); } Transform parentTransform = layoutGroup == null ? transform : layoutGroup.transform; GameObject itemGameObject = GameObject.Instantiate(itemTemplate, parentTransform, false); SubUIRuntimeButtonProxy item = itemGameObject.GetComponent <SubUIRuntimeButtonProxy>(); if (item == null) { item = itemGameObject.AddComponent <SubUIRuntimeButtonProxy>(); } item.parentLayoutGroup = this; item.index = index; item.message = message; item.button.interactable = interactable; itemGameObject.SetActive(true); Text txt = itemGameObject.GetComponentInChildren <Text>(); if (txt != null) { txt.text = text; } OnCreateLayoutItem(item); return(item); }
/// <summary> /// 创建所有items /// </summary> protected void CreateItems() { for (int i = 0; i < itemOptions.Count; i++) { if (!itemOptions[i].active) { continue; } SubUIRuntimeButtonProxy item = CreateLayoutItem(itemOptions[i].text, m_Items.Count, itemOptions[i].message, itemOptions[i].interactable); if (item != null) { m_Items.Add(item); } } }
/// <summary> /// 当创建item时 /// </summary> /// <param name="item"></param> protected virtual void OnCreateLayoutItem(SubUIRuntimeButtonProxy item) { }