public void onBuildClick() { bool buildSomething = false; Factory factory; if (Economy.isMarket.checkIfTrue(Game.Player)) { Value cost = selectedFactoryType.GetBuildCost(); if (Game.Player.canPay(cost)) { factory = Game.selectedProvince.BuildFactory(Game.Player, selectedFactoryType, cost); Game.Player.payWithoutRecord(factory, cost); buildSomething = true; MainCamera.factoryPanel.show(factory); if (Game.Player != factory.GetCountry()) { factory.GetCountry().changeRelation(Game.Player, Options.RelationImpactOnGovernmentInvestment.get()); } } } else // non market { //todo remove grain connection var resourceToBuild = selectedFactoryType.GetBuildNeeds(); Storage needFood = resourceToBuild.GetFirstSubstituteStorage(Product.Grain); if (Game.Player.countryStorageSet.has(needFood)) { factory = Game.selectedProvince.BuildFactory(Game.Player, selectedFactoryType, Game.market.getCost(resourceToBuild)); Game.Player.countryStorageSet.Subtract(needFood); buildSomething = true; MainCamera.factoryPanel.show(factory); if (Game.Player != factory.GetCountry()) { factory.GetCountry().changeRelation(Game.Player, Options.RelationImpactOnGovernmentInvestment.get()); } } } if (buildSomething == true) { selectedFactoryType = null; MainCamera.refreshAllActive(); } }
public Value GetInvestmentCost() { return(Type.GetBuildCost()); }