Example #1
0
        private void autoBuild(Building.TYPES iBuildingType)
        {
            // Find Building Spot
            BuildableSpot[] BSpots     = BuildableMap.GetComponentsInChildren <BuildableSpot>();
            BuildableSpot   chosenSpot = null;

            foreach (BuildableSpot bs in BSpots)
            {
                if (bs.isAvailable())
                {
                    chosenSpot = bs; break;
                }
            }


            // Build actual Building
            GameObject createdGO = null;

            switch (iBuildingType)
            {
            case Building.TYPES.HOUSE:
                createdGO = Instantiate(HousePrefab);
                createdGO.transform.position = chosenSpot.transform.position;

                break;

            case Building.TYPES.STORAGE:
                createdGO = Instantiate(StoragePrefab);
                createdGO.transform.position = chosenSpot.transform.position;
                break;


            case Building.TYPES.FORT:
                createdGO = Instantiate(FortPrefab);
                createdGO.transform.position = chosenSpot.transform.position;
                break;

            case Building.TYPES.MARKET:
                createdGO = Instantiate(MarketPrefab);
                createdGO.transform.position = chosenSpot.transform.position;
                break;

            default:
                break;
            }
            if (!!createdGO)
            {
                Building building = createdGO.GetComponent <Building>();
                attachedWorld.addBuilding(building);
                chosenSpot.buildingHolder = building;
            }
        }
Example #2
0
        private void tryBuildBuilding(Dictionary <Ressource.TYPE, int> iCost, Building.TYPES iBuildingType)
        {
            bool canBuild = true;

            foreach (Ressource.TYPE t in iCost.Keys)
            {
                canBuild = iCost[t] <= attachedWorld.ressource_table[t];
            }
            if (canBuild)
            {
                autoBuild(iBuildingType);
                foreach (Ressource.TYPE t in iCost.Keys)
                {
                    attachedWorld.ressource_table[t] -= iCost[t];
                }
            }
        }