예제 #1
0
 public ChatEmojiItem GetChatEmojiItem()
 {
     if (mCacheStack.Count == 0)
     {
         ChatEmojiItem temp = new ChatEmojiItem();
         temp.SetAction(mUpdateContentAction);
         temp.InitItem(mOriginGo);
         return(temp);
     }
     return(mCacheStack.Pop());
 }
예제 #2
0
 public ChatEmojiCache(GameObject originGo, Action <ChatEmojiItem, ChatEmojiPos, Vector2, Transform> UpdateContentAction,
                       int initCount = 20)
 {
     mOriginGo = originGo;
     originGo.SetActive(false);
     this.mUpdateContentAction = UpdateContentAction;
     for (int i = 0; i < initCount; ++i)
     {
         ChatEmojiItem temp = new ChatEmojiItem();
         temp.SetAction(mUpdateContentAction);
         temp.InitItem(mOriginGo);
         mCacheStack.Push(temp);
     }
 }
예제 #3
0
    void CreateEmojiMsg(int emoji_id, bool isme, Transform root)//添加的是emoji预制件
    {
        GameObject    go   = null;
        ChatEmojiItem item = null;

        if (isme)
        {
            item = UIManager.AddItem <ChatEmojiItem>("EmojiItemSelf", root);
        }
        else
        {
            item = UIManager.AddItem <ChatEmojiItem>("EmojiItemOther", root);
        }
        item.SetIcon(emoji_id);
    }
예제 #4
0
 public void CacheChatEmojiItem(ChatEmojiItem emojiItem)
 {
     emojiItem.SetVisible(false);
     mCacheStack.Push(emojiItem);
 }