Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }