private void AddLineObject(ILoudspeakerItem item, List <LineObjCache> curLineObject)
        {
            LineObjCache objCache;

            objCache.width           = item.GetItemWidth();
            objCache.height          = item.GetItemHeight();
            objCache.trans           = item.GetTransform();
            objCache.trans.sizeDelta = new Vector2(objCache.width, objCache.height);
            curLineObject.Add(objCache);
        }
        private void CreateSubItem(LoudspeakerManager.SLoudspeakerObjectInfo info, List <LineObjCache> curLineObject)
        {
            if (curLineObject == null)
            {
                return;
            }

            ResNode itemPrefab = LogicDataCenter.loudspeakerManager.GetChatItemPrefabByObjType(info.type);

            if (itemPrefab == null)
            {
                return;
            }

            GameObject itemObj = itemPrefab.InstanceMainRes();

            if (itemObj == null)
            {
                return;
            }

            itemObj.transform.SetParent(this.transform, false);
            ILoudspeakerItem subItem = itemObj.GetComponent <ILoudspeakerItem>();

            if (subItem == null)
            {
                return;
            }

            if (subItem.SetItemData(info) == false)
            {
                return;
            }

            AddLineObject(subItem, curLineObject);
        }