Exemplo n.º 1
0
    private void Build()
    {
        var tile = currentTile;

        if (tile.buildable && playerEconomy.currentResource - selectedBuilding.GetComponent <Building>().buildCost >= 0)
        {
            var building          = Instantiate(selectedBuilding, grid.GetCellCenterWorld(grid.WorldToCell(currentTile.transform.position)), quaternion.identity);
            var buildingComponent = building.GetComponent <Building>();
            if (buildingComponent.playerOwned)
            {
                MapDataManager.Add(MapDataManager.playerBuildings, building.transform);
            }
            else
            {
                MapDataManager.Add(MapDataManager.enemyBuildings, building.transform);
            }
            playerEconomy.currentResource -= building.GetComponent <Building>().buildCost;
            tile.building  = building;
            tile.buildable = false;
        }
        else
        {
            Debug.Log("Can't Build on " + currentTile.name + "||" + tile.buildable);
            ResetBuildState();
        }
    }
Exemplo n.º 2
0
 private void Start()
 {
     if (playerOwned)
     {
         MapDataManager.Add(MapDataManager.playerBuildings, transform);
     }
     else
     {
         MapDataManager.Add(MapDataManager.enemyBuildings, transform);
     }
     combatSystem = GetComponent <CombatSystem>();
 }
Exemplo n.º 3
0
 private void Build()
 {
     buildings = GetWaveBuildings();
     foreach (GameObject building in buildings)
     {
         Vector3    randomBuildLocation = new Vector3(Random.Range(buildAreaMin.x, buildAreaMax.x), 0, Random.Range(buildAreaMin.y, buildAreaMax.y));
         Vector3Int gridPos             = (grid.WorldToCell(randomBuildLocation));
         var        buildLocation       = grid.GetCellCenterLocal(gridPos);
         var        instBuilding        = Instantiate(building, BuildGridManager.GetTile(buildLocation).transform.position, Quaternion.identity);
         MapDataManager.Add(MapDataManager.enemyBuildings, instBuilding.transform);
     }
     buildCooldown = GetWaveCooldown();
     waveIndex++;
 }
Exemplo n.º 4
0
    public void SpawnUnit()
    {
        var unit = Instantiate(MapDataManager.poolDictionary[unitName].Dequeue(), transform.position, Quaternion.identity);

        unit.SetActive(true);
        if (playerUnit)
        {
            MapDataManager.Add(MapDataManager.playerUnits, unit.transform);
        }
        else
        {
            MapDataManager.Add(MapDataManager.enemyUnits, unit.transform);
        }
    }