public bool CreateBuilding(GameObject buildingPrefab) { if (building == null && type == Type.Grass) { building = Instantiate(buildingPrefab, transform.position, buildingPrefab.transform.rotation); building.name = buildingPrefab.name; building.GetComponent <CableManager>().CheckBordering(gridPosition, true); EnergyConsumer ec = building.GetComponent <EnergyConsumer>(); EnergyProducer ep = building.GetComponent <EnergyProducer>(); if (ec != null) { PowerTracker.GetPowerTracker().totalConsumption += ec.energyConsumption; MoneyTracker.GetMoneyTracker().totalIncome += ec.moneyPerSecond; } if (ep != null) { PowerTracker.GetPowerTracker().totalProduction += ep.energyProduction; MoneyTracker.GetMoneyTracker().totalUpkeep += ep.moneyPerSecond; } return(true); } return(false); }
public void DestoryBuilding() { EnergyConsumer ec = building.GetComponent <EnergyConsumer>(); EnergyProducer ep = building.GetComponent <EnergyProducer>(); if (ec != null) { PowerTracker.GetPowerTracker().totalConsumption -= ec.energyConsumption; MoneyTracker.GetMoneyTracker().totalIncome -= ec.moneyPerSecond; } if (ep != null) { PowerTracker.GetPowerTracker().totalProduction -= ep.energyProduction; MoneyTracker.GetMoneyTracker().totalUpkeep -= ep.moneyPerSecond; } building.GetComponent <CableManager>().Remove(gridPosition, -1); Destroy(building); building = null; }