Example #1
0
    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);
    }
Example #2
0
    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;
    }