void Session_MoneyIncreased(object sender, EventArgs e) { Button bt = SelectedTower.GetButton("BuyTower"); Button ut = SelectedTower.GetButton("UpgradeTower"); if (bt != null) { if (clickedTower != null && clickedTower.Cost <= Session.ActivePlayer.Money) { bt.Texture = Session.Map.SmallNormalButtonTexture; bt.SetColor(Session.Map.ForeColor); if (bt.State == UIButtonState.Inactive) { bt.LeftClickEvent += new EventHandler(buyTower_LeftClick); bt.Activate(); } } } else if (ut != null) { if (clickedTower != null && clickedTower.UpgradeCost <= Session.ActivePlayer.Money && clickedTower.Level + 1 < clickedTower.MaxLevel) { ut.Texture = Session.Map.SmallNormalButtonTexture; ut.SetColor(Session.Map.ForeColor); if (ut.State == UIButtonState.Inactive) { ut.LeftClickEvent += new EventHandler(upgradeTower_LeftClick); ut.Activate(); } } } }
void Session_TowerPurchased(object sender, TowerEventArgs ptea) { ptea.t.LeftClickEvent += new EventHandler(clickableTower_LeftClickEvent); Button b = SelectedTower.GetButton("BuyTower"); if (clickedTower.Cost > Session.ActivePlayer.Money) { b.Texture = Session.Map.SmallErrorButtonTexture; b.SetColor(Session.Map.ErrorColor); if (b.State == UIButtonState.Active) { b.LeftClickEvent -= buyTower_LeftClick; b.Deactivate(); } } }
void upgradeTower_LeftClick(object sender, EventArgs e) { Button b = sender as Button; if (b != null) { Tower t = b.StoredObject as Tower; Session.UpgradeTower(t); b.ButtonText.Value = String.Format("Upgrade Tower (Costs {0})", clickedTower.UpgradeCost); SelectedTower.GetButton("SellTower").ButtonText.Value = String.Format("Sell Tower (Receive {0})", (int)(clickedTower.TotalCost * clickedTower.SellScalar)); SelectedTower.GetText("Stats").Value = clickedTower.CurrentStatistics.ToShortString(); SelectedTower.GetText("Price").Value = String.Format("Price: {0}", clickedTower.TotalCost); SelectedTower.GetText("TowerName").Value = clickedTower.Name + " " + (clickedTower.Level + 1).ToString(); if (clickedTower.UpgradeCost > Session.ActivePlayer.Money || clickedTower.Level == clickedTower.MaxLevel) { b.Texture = Session.Map.SmallErrorButtonTexture; b.SetColor(Session.Map.ErrorColor); b.LeftClickEvent -= upgradeTower_LeftClick; b.Deactivate(); } } }