Пример #1
0
 private MainMenuChatItem Use()
 {
     if (mPool.Count > 0)
     {
         MainMenuChatItem item = mPool[mPool.Count - 1];
         mPool.RemoveAt(mPool.Count - 1);
         item.mDMono.gameObject.SetActive(true);
         mActive.Enqueue(item);
         item.mDMono.transform.SetParent(mPreviewTableTransform);
         item.mDMono.transform.localPosition    = Vector3.zero;
         item.mDMono.transform.localScale       = Vector3.one;
         item.mDMono.transform.localEulerAngles = Vector3.zero;
         item.mDMono.transform.SetAsFirstSibling();
         return(item);
     }
     else
     {
         var ilr = Object.Instantiate(mActive[mActive.Count - 1].mDMono);
         MainMenuChatItem item = ilr._ilrObject as MainMenuChatItem;
         mActive.Enqueue(item);
         item.mDMono.transform.SetParent(mPreviewTableTransform);
         item.mDMono.transform.localPosition    = Vector3.zero;
         item.mDMono.transform.localScale       = Vector3.one;
         item.mDMono.transform.localEulerAngles = Vector3.zero;
         item.mDMono.transform.SetAsFirstSibling();
         item.SetItemData(null);
         return(item);
     }
 }
Пример #2
0
 private void Recycle(MainMenuChatItem item)
 {
     item.SetItemData(null);
     item.mDMono.transform.SetAsLastSibling();
     item.mDMono.gameObject.SetActive(false);
     mPool.Add(item);
 }
Пример #3
0
        private void AddMessage(EB.Sparx.ChatMessage msg)
        {
            MainMenuChatItem item = Use();

            ChatUIMessage uimsg   = new ChatUIMessage(msg);
            var           channel = ChatRule.STR2CHANNEL[msg.channelType];

            uimsg.ChannelSpriteName = ChatRule.CHANNEL2ICON.ContainsKey(channel) ? ChatRule.CHANNEL2ICON[channel] : "";
            uimsg.Channel           = channel;
            item.SetItemData(uimsg);
        }