示例#1
0
    private void Build()
    {
        if (!canBuild || manageDialog.IsPointerOverBuildingDialog())
        {
            return;
        }
        if (!Economy.CanBuy(selectedBuildingUnit.price))
        {
            return;
        }

        GameObject newBuildingObject = Instantiate(
            buildingPrefab,
            createdBuildings.transform,
            true
            );

        buildingsTileMap.SetTile(currentCell, currentBuildingTile);
        // GameStore.SetBuildingPosition(currentArea);
        newBuildingObject.GetComponent <Building>()
        .SetInitialValues(currentArea, resourcesMap, selectedBuildingUnit);

        foreach (var boundCell in currentArea.allPositionsWithin)
        {
            // Add building position/bound to list
            GameStore.SetBuildingPosition(boundCell);
        }
    }