public virtual void drawInfoPanelGUI() { UIControllerGame controller = UIControllerGame.getInstance(); Tower towerTmp; if (this.tower == null) //gercek bir kule degil demek. ikonlari gostermek icin vs. tutulan dummy kule demek. { towerTmp = TypeIdGenerator.getTowerInsts(TypeIdGenerator.getTowerId(this.towerType)); } else { towerTmp = this.tower; } controller.label_TowerCost.text = towerTmp.getCost().ToString(); controller.label_TowerTitle.text = towerTmp.getName(); controller.label_TowerDescription.text = getInfo(); controller.label_TowerAttackCD.text = towerTmp.getAttackCooldown().ToString(); controller.label_TowerRange.text = (towerTmp.getRange() * 100).ToString(); controller.sprite_TowerIcon.mainTexture = childStaticTowerIcon; //remove all upgrade buttons remaining from previous var children = new List <GameObject>(); foreach (Transform child in controller.panel_UpgradeTowerContainer.transform) { children.Add(child.gameObject); } children.ForEach(child => GameObject.Destroy(child)); // eger bu cizim sadece bilgi gostermek icinse veya bu kule sana aitse upgrade'leri ekle if (this.tower == null || this.tower.board == PlayerMe.self.board) { var i = 0; foreach (TowerNode node in TypeIdGenerator.getTowerNodeInsts(towerType).children) { if (UserMe.unlockedTowers[TypeIdGenerator.getTowerId(node.towerType)]) { Tower child = TypeIdGenerator.getTowerInsts(TypeIdGenerator.getTowerId(node.towerType)); ITowerGUI childGUI = TypeIdGeneratorGUI.towerGuiInst[TypeIdGenerator.getTowerId(node.towerType)]; GameObject button = (GameObject)GameObject.Instantiate(controller.button_UpgradeTowerSample); button.transform.parent = controller.panel_UpgradeTowerContainer.transform; button.transform.localScale = new Vector3(1, 1, 1); button.transform.localPosition = controller.button_UpgradeTowerSample.transform.localPosition + new Vector3(60 * i, 0, 0); button.GetComponentsInChildren <UIButtonMessage>(true)[0].parameter = TypeIdGenerator.getTowerId(towerType).ToString() + " " + TypeIdGenerator.getTowerId(node.towerType).ToString(); button.GetComponentsInChildren <UILabel>(true)[0].text = child.getCost().ToString(); button.GetComponentsInChildren <Tooltiper>(true)[0].text = childGUI.getUpgradeInfo(); childGUI.drawCreateTowerButtonGUI(button); if (child.getCost() > PlayerMe.cash) { button.GetComponentsInChildren <UISlicedSprite>(true)[0].color = Color.red; } button.SetActive(true); i++; } } } controller.panel_TowerInfo.SetActive(true); }