void repair_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e) { int price = GetRepairCost(); //GameManager.BuildingProperties.BuildingBaseProperties(selectedConstruction.ConstructionName, selectedConstruction.ConstructionYear, selectedConstruction.UpgradeYear, GameManager.CurrentYear).Price; if (GameManager.GetMoney(GameManager.CurrentYear) >= price) { GameManager.SpendMoney(GameManager.CurrentYear, price); GameInterface.SetMoney(GameManager.GetMoney(GameManager.CurrentYear)); //do repair BuildingsBaseProperties properties = new BuildingsBaseProperties(); selectedConstruction.SelectConstruction = false; selectedConstruction.Slot.ProlongReservation(GameManager.CurrentYear); selectedConstruction.ConstructionLifetime = (GameManager.CurrentYear - selectedConstruction.ConstructionYear) + properties.BuildingBaseProperties(selectedConstruction.ConstructionName, selectedConstruction.ConstructionYear, selectedConstruction.UpgradeYear, GameManager.CurrentYear).Lifetime; GameMap.RefreshBuilding(selectedConstruction.Slot); Close(); int year = GameManager.CurrentYear; GameManager.UpdateYear(year); } else { //Debug.AddToLog("Not enough cashcaval"); textRepairCost.Text = "Can not afford to repair"; textRepairCost.Tint = Color.Red; } }
void upgrade_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e) { int price = GetUpgradeCost(); if (GameManager.GetMoney(GameManager.CurrentYear) >= price) { GameManager.SpendMoney(GameManager.CurrentYear, price); GameInterface.SetMoney(GameManager.GetMoney(GameManager.CurrentYear)); //do upgrade if (selectedConstruction.ConstructionType != ConstructionType.Population) { selectedConstruction.SelectConstruction = false; selectedConstruction.UpgradeYear = GameManager.CurrentYear; selectedConstruction.Slot.Upgrade(GameManager.CurrentYear); GameMap.RefreshBuilding(selectedConstruction.Slot); GameMap.Upgrade(selectedConstruction.Slot, GameManager.CurrentYear); } else { selectedConstruction.Slot.ShortenReservation(GameManager.CurrentYear); GameMap.RefreshBuilding(selectedConstruction.Slot); switch (selectedConstruction.ConstructionName) { case Construction.PopulationVillage: GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationTown); break; case Construction.PopulationTown: GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationCity); break; case Construction.PopulationCity: GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationMetropolis);; break; } GameMap.RefreshBuilding(selectedConstruction.Slot); int year = GameManager.CurrentYear; GameManager.UpdateYear(year); Close(); } } else { //Debug.AddToLog("Not enough cashcaval"); textUpgradeCost.Text = "Can not afford to upgrade"; textUpgradeCost.Tint = Color.Red; } }