public void updateCashAndIncome() { // muhtemelen burada hicbir is yapmaya gerek yok. adamin para gostergesinin etrafinda isiklar cikartabiliriz paranin degistigine vurgu yapmak icin. uiControllerGame.setMoney(PlayerMe.cash, PlayerMe.income); foreach (var button in uiControllerGame.towerAndMinionButtons) // paramizin yetmedigi butonlari kirmizi yapalim { if (typeof(Minion).IsAssignableFrom(button.Key)) { if (TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(button.Key)).getCost() > PlayerMe.cash) { foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj.gameObject.transform.name == "NotEnoughMoneyLayer") { obj.gameObject.SetActive(true); } } } else { foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer") { obj2.gameObject.SetActive(false); } } } } else if (typeof(Tower).IsAssignableFrom(button.Key)) { if (TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(button.Key)).getCost() > PlayerMe.cash) { foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj.gameObject.transform.name == "NotEnoughMoneyLayer") { obj.gameObject.SetActive(true); } } } else { foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true)) { if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer") { obj2.gameObject.SetActive(false); } } } } } }
public void createTower(string towerTypeId) { MouseHandler.selectedTowerType = TypeIdGenerator.getTowerType(Int32.Parse(towerTypeId)); if (PlayerMe.cash < TypeIdGenerator.getTowerClass(Int32.Parse(towerTypeId)).getCost()) { Announcement.make("[FF0000]Not enough money[-]", Announcement.ScreenPosition.MiddleBottom, 2.0f, 20.0f); } else { selectedTowerOverlayObject.transform.position = towerAndMinionButtons[MouseHandler.selectedTowerType].transform.position; if (!selectedTowerOverlayObject.activeInHierarchy) { selectedTowerOverlayObject.SetActive(true); } } }
public void createMinionAndTowerButtons() { var children = new System.Collections.Generic.List <GameObject>(); foreach (Transform child in createMinionTowerContainer.transform) { children.Add(child.gameObject); } children.ForEach(child => GameObject.Destroy(child)); int btnIndex = 0; button_CreateTower.SetActive(true); button_CreateMinion.SetActive(true); // sort minions order by cost List <Type> minionsSortedByCost = new List <Type>(); for (int j = 0; j < PlayerMe.availableMinionTypes.Count; j++) { if (TypeIdGeneratorGUI.minionGuiInst.ContainsKey(TypeIdGenerator.getMinionId(PlayerMe.availableMinionTypes[j]))) { minionsSortedByCost.Add(PlayerMe.availableMinionTypes[j]); } } minionsSortedByCost.Sort(delegate(Type t1, Type t2) { Minion m1 = TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(t1)); Minion m2 = TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(t2)); if (m1.getCost() < m2.getCost()) { return(-1); } else { return(1); } }); foreach (Type minionType in minionsSortedByCost) { int minionTypeId = TypeIdGenerator.getMinionId(minionType); if (TypeIdGeneratorGUI.minionGuiInst.ContainsKey(minionTypeId)) { GameObject button = (GameObject)GameObject.Instantiate(button_CreateMinion); button.transform.parent = createMinionTowerContainer.transform; button.transform.localScale = new Vector3(1, 1, 1); button.transform.localPosition = button_CreateMinion.transform.localPosition + new Vector3(50 * btnIndex, 0, 0); UIButtonMessage[] button_messages = button.GetComponents <UIButtonMessage>(); foreach (var btn_msg in button_messages) { btn_msg.parameter = minionTypeId.ToString(); } IMinionGUI minionGUI = TypeIdGeneratorGUI.minionGuiInst[minionTypeId]; minionGUI.drawCreateMinionButtonGUI(button); towerAndMinionButtons.Add(minionType, button); btnIndex++; } } // sort towers order by cost List <Type> towersSortedByCost = new List <Type>(); for (int j = 0; j < PlayerMe.availableTowerTypes.Count; j++) { if (TypeIdGeneratorGUI.towerGuiInst.ContainsKey(TypeIdGenerator.getTowerId(PlayerMe.availableTowerTypes[j]))) { towersSortedByCost.Add(PlayerMe.availableTowerTypes[j]); } } towersSortedByCost.Sort(delegate(Type t1, Type t2) { Tower m1 = TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(t1)); Tower m2 = TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(t2)); if (m1.getCost() < m2.getCost()) { return(-1); } else { return(1); } }); btnIndex = 0; foreach (Type towerType in towersSortedByCost) { int towerTypeId = TypeIdGenerator.getTowerId(towerType); if (TypeIdGeneratorGUI.towerGuiInst.ContainsKey(towerTypeId)) { GameObject button = (GameObject)GameObject.Instantiate(button_CreateTower); button.transform.parent = createMinionTowerContainer.transform; button.transform.localScale = new Vector3(1, 1, 1); button.transform.localPosition = button_CreateTower.transform.localPosition + new Vector3(50 * btnIndex, 0, 0); UIButtonMessage[] button_messages = button.GetComponents <UIButtonMessage>(); foreach (var btn_msg in button_messages) { btn_msg.parameter = towerTypeId.ToString(); } ITowerGUI towerGUI = TypeIdGeneratorGUI.towerGuiInst[towerTypeId]; towerGUI.drawCreateTowerButtonGUI(button); towerAndMinionButtons.Add(towerType, button); btnIndex++; } } button_CreateTower.SetActive(false); button_CreateMinion.SetActive(false); }