private void LoadPhrases(bool loadRecent = false) { ReturnPhraseViewToPool(); if (!loadRecent && selectedTab == null) { return; } List <string> phrases = loadRecent ? dataProvider.GetRecentPhrases() : dataProvider.GetAllPhrases(selectedTab.Tag); if (phrases.Count == 0) { return; } foreach (string id in phrases) { FizzHypercasualDataItem phraseItem = dataProvider.GetPhrase(id); if (phraseItem == null) { continue; } FizzHypercasualPhraseView phraseView = GetPhraseViewFromPool(); phraseView.gameObject.SetActive(true); phraseView.transform.SetParent(PhrasesContainer, false); phraseView.transform.localScale = Vector3.one; phraseView.SetPhraseData(phraseItem); phraseView.OnPhraseClick = OnPhraseClicked; } }
private FizzHypercasualPhraseView GetPhraseViewFromPool() { if (PhrasePool.childCount > 0) { return(PhrasePool.GetChild(0).GetComponent <FizzHypercasualPhraseView> ()); } FizzHypercasualPhraseView phraseView = Instantiate(PhraseViewPrefab); phraseView.transform.SetParent(PhrasePool, false); return(phraseView); }
private void OnPhraseClicked(FizzHypercasualPhraseView phraseView) { if (phraseView == null) { return; } if (Time.realtimeSinceStartup < timeSinceLastSend + RESEND_TIMER) { return; } dataProvider.AddPhraseToRecent(phraseView.PhraseData.Id); timeSinceLastSend = Time.realtimeSinceStartup; if (OnSendData != null) { Dictionary <string, string> phraseData = new Dictionary <string, string> (); phraseData.Add("type", "fizz_predefine_phrase"); phraseData.Add("phrase_id", phraseView.PhraseData.Id); OnSendData.Invoke(phraseData); } }