Пример #1
0
    // Temporary until we figure out a better way to decide where to spawn.
    //public Vector2Int SpawnCoordinate;

    public void SpawnUnit(Tile tile)
    {
        bool canAfford = true;

        for (int i = 0; i < Costs.Count; i++)
        {
            if (!Costs[i].CanAfford())
            {
                canAfford = false;
            }
        }


        if (canAfford)
        {
            for (int i = 0; i < Costs.Count; i++)
            {
                Costs[i].Pay();
            }

            Unit newUnit = Instantiate(Prototype);


            PlayerOwned ownertag = newUnit.GetComponent <PlayerOwned>();
            if (ownertag == null)
            {
                Debug.LogError("Unit needs to have a player owned component");
            }
            Player owner = GetComponentInParent <Player>();
            ownertag.setOwner(owner);
            newUnit.transform.SetParent(tile.transform, false);
            //Debug.Log("SET GRID?");
            newUnit.SetGrid(Map);
            newUnit.tileX    = tile.X;
            newUnit.tileY    = tile.Y;
            Map.SelectedUnit = newUnit;
        }
        else
        {
            Debug.Log("Not enough resources!");
        }
    }
Пример #2
0
    public void SpawnUnit()
    {
        bool canAfford = true;

        for (int i = 0; i < Costs.Count; i++)
        {
            if (!Costs[i].CanAfford())
            {
                canAfford = false;
            }
        }


        if (canAfford)
        {
            for (int i = 0; i < Costs.Count; i++)
            {
                Costs[i].Pay();
            }

            Unit newUnit = Instantiate(Prototype);
            Cell cell    = Map.GetCell(SpawnCoordinate.x = Random.Range(0, 5), SpawnCoordinate.y = Random.Range(0, 5));



            PlayerOwned ownertag = newUnit.GetComponent <PlayerOwned>();
            if (ownertag == null)
            {
                Debug.LogError("Unit needs to have a PlayerOwned component");
            }
            Player owner = GetComponentInParent <Player>();
            ownertag.setOwner(owner);

            newUnit.transform.SetParent(cell.transform, false);
        }
        else
        {
            Debug.Log("Not enough resources!");
        }
    }
Пример #3
0
 public void Start()
 {
     owner.setOwner(GetComponent <Player>());
 }