/// <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)
 {
 }