Exemplo n.º 1
0
        public virtual void drawInfoPanelGUI()
        {
            UIControllerGame controller = UIControllerGame.getInstance();

            Minion minion;

            if (this.minion == null)
            {
                minion = TypeIdGenerator.getMinionInsts(TypeIdGenerator.getMinionId(this.minionType));
            }
            else
            {
                minion = this.minion;
            }

            controller.label_MinionCost.text         = minion.getCost().ToString();
            controller.label_MinionFireRes.text      = "-";
            controller.label_MinionPhysRes.text      = "-";
            controller.label_MinionPoisonRes.text    = "-";
            controller.label_MinionIncome.text       = minion.getIncome().ToString();
            controller.label_MinionReward.text       = minion.getKillGold().ToString();
            controller.label_MinionHealth.text       = minion.stats.healthTotal.ToString();
            controller.label_MinionMS.text           = minion.stats.baseMovementSpeed.ToString();
            controller.label_MinionTitle.text        = minion.getName();
            controller.label_MinionDescription.text  = getInfo();
            controller.sprite_MinionIcon.mainTexture = childStaticMinionIcon;

            //remove all upgrade buttons remaining from previous
            var children = new List <GameObject>();

            foreach (Transform child in controller.panel_UpgradeMinionContainer.transform)
            {
                children.Add(child.gameObject);
            }
            children.ForEach(child => GameObject.Destroy(child));

            // eger bu cizim sadece bilgi gostermek icinse veya bu minion sana aitse upgrade'leri ekle
            if (this.minion == null)
            {
                var i = 0;
                foreach (MinionNode node in TypeIdGenerator.getMinionNodeInsts(minionType).children)
                {
                    if (UserMe.unlockedMinions[TypeIdGenerator.getMinionId(node.minionType)])
                    {
                        Minion     child    = TypeIdGenerator.getMinionInsts(TypeIdGenerator.getMinionId(node.minionType));
                        IMinionGUI childGUI = TypeIdGeneratorGUI.minionGuiInst[TypeIdGenerator.getMinionId(node.minionType)];

                        GameObject button = (GameObject)GameObject.Instantiate(controller.button_UpgradeMinionSample);
                        button.transform.parent        = controller.panel_UpgradeMinionContainer.transform;
                        button.transform.localScale    = new Vector3(1, 1, 1);
                        button.transform.localPosition = controller.button_UpgradeMinionSample.transform.localPosition + new Vector3(60 * i, 0, 0);


                        button.GetComponentsInChildren <UILabel>(true)[0].text   = child.getUpgradeCost().ToString();
                        button.GetComponentsInChildren <Tooltiper>(true)[0].text = childGUI.getUpgradeInfo();
                        childGUI.drawCreateMinionButtonGUI(button);

                        UIButtonMessage msg = button.GetComponentsInChildren <UIButtonMessage>(true)[0];
                        if (child.getCost() > PlayerMe.cash)
                        {
                            button.GetComponentsInChildren <UISlicedSprite>(true)[0].color  = Color.red;
                            button.GetComponentsInChildren <UIButtonColor>(true)[0].enabled = false;
                            msg.enabled = false;
                        }
                        else
                        {
                            msg.parameter = TypeIdGenerator.getMinionId(minionType).ToString() + " " + TypeIdGenerator.getMinionId(node.minionType).ToString();
                        }

                        button.SetActive(true);
                        i++;
                    }
                }
            }

            controller.panel_MinionInfo.SetActive(true);
        }