private void LoadStickers(bool loadRecent = false)
        {
            ReturnStickerViewToPool();
            if (!loadRecent && selectedTab == null)
            {
                return;
            }
            List <string> stickers = loadRecent ? dataProvider.GetRecentStickers() : dataProvider.GetAllStickers(selectedTab.Tag);

            if (stickers.Count == 0)
            {
                return;
            }

            foreach (string id in stickers)
            {
                FizzHypercasualDataItem stickerItem = dataProvider.GetSticker(id);
                if (stickerItem == null)
                {
                    continue;
                }

                FizzHypercasualStickerView stickerView = GetStickerViewFromPool();
                stickerView.gameObject.SetActive(true);
                stickerView.transform.SetParent(StickersContainer, false);
                stickerView.transform.localScale = Vector3.one;
                stickerView.SetStickerData(stickerItem);
                stickerView.OnStickerClick = OnStickerClicked;
            }
        }
        private FizzHypercasualStickerView GetStickerViewFromPool()
        {
            if (StickerPool.childCount > 0)
            {
                return(StickerPool.GetChild(0).GetComponent <FizzHypercasualStickerView> ());
            }

            FizzHypercasualStickerView stickerView = Instantiate(StickerViewPrefab);

            stickerView.transform.SetParent(StickerPool, false);

            return(stickerView);
        }
        private void OnStickerClicked(FizzHypercasualStickerView stickerView)
        {
            if (stickerView == null)
            {
                return;
            }
            if (Time.realtimeSinceStartup < timeSinceLastSend + RESEND_TIMER)
            {
                return;
            }

            dataProvider.AddStickerToRecent(stickerView.StickerData.Id);
            timeSinceLastSend = Time.realtimeSinceStartup;

            if (OnSendData != null)
            {
                Dictionary <string, string> stickerData = new Dictionary <string, string> ();
                stickerData.Add("type", "fizz_predefine_sticker");
                stickerData.Add("sticker_id", stickerView.StickerData.Id);
                OnSendData.Invoke(stickerData);
            }
        }