Exemplo n.º 1
0
 private void PushEmojiToPool()
 {
     if (_showEmojiList != null)
     {
         for (int i = 0; i < _showEmojiList.Count; i++)
         {
             CacheEmoji cacheEmoji = _showEmojiList[i];
             cacheEmoji.Used = false;
             if (!_emojiDict.ContainsKey(cacheEmoji.Key))
             {
                 _emojiDict.Add(cacheEmoji.Key, ListPool <CacheEmoji> .Get());
             }
             List <CacheEmoji> list = _emojiDict[cacheEmoji.Key];
             list.Add(cacheEmoji);
         }
         _showEmojiList.Clear();
     }
 }
Exemplo n.º 2
0
        public void CreateEmoji(TagData tagData)
        {
            List <CacheEmoji> list = null;

            if (_emojiDict.ContainsKey(tagData.Id))
            {
                list = _emojiDict[tagData.Id];
            }
            CacheEmoji cacheEmoji = GetFromPool <CacheEmoji>(list, tagData);

            cacheEmoji.Key = tagData.Id;
            if (_showEmojiList == null)
            {
                _showEmojiList = ListPool <CacheEmoji> .Get();
            }
            _showEmojiList.Add(cacheEmoji);
            cacheEmoji.RectTrans.sizeDelta          = new Vector2(tagData.Width, tagData.Height);
            cacheEmoji.RectTrans.anchoredPosition3D = tagData.StartPosition;
        }