private void PopulateDataList(string result, string transactionId) { ResponseModel <List <PrizeResponseModel> > jsonResponse = new ResponseModel <List <PrizeResponseModel> >(); jsonResponse.Data = new List <PrizeResponseModel>(); jsonResponse = JsonMapper.ToObject <ResponseModel <List <PrizeResponseModel> > >(result); if (jsonResponse.Succeed) { EmptyPanel.SetActive(false); foreach (var item in jsonResponse.Data) { GameObject newButton = Instantiate(ButtonTemplate) as GameObject; RewardButtonTemplate sampleButton = newButton.GetComponent <RewardButtonTemplate>(); sampleButton.PrizeName.text = item.Name; sampleButton.PrizeId.text = item.Id.ToString(); sampleButton.GetComponent <Button>().onClick.AddListener(() => ShowRedeemPrizePanel(sampleButton)); if (item.Ruby != 0) { sampleButton.Gem.transform.GetChild(0).gameObject.GetComponentInChildren <Text>().text = item.Ruby.ToString(); } if (item.Sapphire != 0) { sampleButton.Gem.transform.GetChild(2).gameObject.GetComponentInChildren <Text>().text = item.Sapphire.ToString(); } if (item.Citrine != 0) { sampleButton.Gem.transform.GetChild(1).gameObject.GetComponentInChildren <Text>().text = item.Citrine.ToString(); } if (item.Teek != 0) { sampleButton.Coin.GetComponentInChildren <Text>().text = item.Teek.ToString(); } if (item.ImageUrl != null) { string url = ConstantClass.ImageHost + item.ImageUrl; WWW www_loadImage = new WWW(url); GameObject child = sampleButton.PrizeImage.transform.GetChild(0).gameObject; StartCoroutine(LoadImage(www_loadImage, child.transform.GetChild(0).gameObject.GetComponent <Image>())); } newButton.transform.SetParent(PrizePanel.transform, false); } } else { EmptyPanel.SetActive(true); } LoadingManager.hideLoadingIndicator(loadingPanel); }
public void ShowRedeemPrizePanel(RewardButtonTemplate RewardObject) { Debug.Log(RewardObject.transform.GetChild(0).GetComponent <Text>().text); try { int PrizeIdTemp = int.Parse(RewardObject.transform.GetChild(0).GetComponent <Text>().text); int Teek; int Ruby; int Sapphire; int Citrine; string TeekText = RewardObject.Coin.GetComponentInChildren <Text>().text; string RubyText = RewardObject.Gem.transform.GetChild(0).gameObject.GetComponentInChildren <Text>().text; string SapphireText = RewardObject.Gem.transform.GetChild(2).gameObject.GetComponentInChildren <Text>().text; string CitrineText = RewardObject.Gem.transform.GetChild(1).gameObject.GetComponentInChildren <Text>().text; //Get teek value if (TeekText != null && TeekText.Length > 0) { PrizeTeek.text = TeekText; Teek = int.Parse(TeekText); } else { PrizeTeek.text = "0"; Teek = 0; } //Get Ruby value if (RubyText != null && RubyText.Length > 0) { PrizeRuby.text = RubyText; Ruby = int.Parse(RubyText); } else { PrizeRuby.text = "0"; Ruby = 0; } //Get Saphhire value if (SapphireText != null && SapphireText.Length > 0) { PrizeSapphire.text = SapphireText; Sapphire = int.Parse(SapphireText); } else { PrizeSapphire.text = "0"; Sapphire = 0; } //Get Citrine value if (CitrineText != null && CitrineText.Length > 0) { PrizeCitrine.text = CitrineText; Citrine = int.Parse(CitrineText); } else { PrizeCitrine.text = "0"; Citrine = 0; } this.PrizeId = PrizeIdTemp; PrizeName.text = RewardObject.PrizeName.text; PrizeImage.sprite = RewardObject.PrizeImage.transform.GetChild(0).GetChild(0).gameObject.GetComponent <Image>().sprite; ClaimByTeekButton.gameObject.SetActive(false); OrLabel.gameObject.SetActive(false); ClaimByGemButton.gameObject.SetActive(false); if (Teek > 0 && (Ruby != 0 || Sapphire != 0 || Citrine != 0)) //If only can claim by Teek, disable Gem Select Button { ClaimByTeekButton.gameObject.SetActive(true); OrLabel.gameObject.SetActive(true); ClaimByGemButton.gameObject.SetActive(true); } else if (Teek <= 0 && (Ruby != 0 || Sapphire != 0 || Citrine != 0)) { ClaimByTeekButton.gameObject.SetActive(false); ClaimByGemButton.gameObject.SetActive(true); } else if (Teek > 0 && (Ruby == 0 && Sapphire == 0 && Citrine == 0)) { ClaimByGemButton.gameObject.SetActive(false); ClaimByTeekButton.gameObject.SetActive(true); } } catch (Exception e) { Debug.Log("Parse error in EventDetailScript with message: " + e.Message); } //If prize can redeem by both Teek and Gem, default select is Teek RedeemPrizePanel.SetActive(true); }