public void On_Buy_Button(int index, Button b) { GameObject[] GameObject_tiles = GameObject.FindGameObjectsWithTag("Tile"); List <Tile> empty_tiles = new List <Tile>(); foreach (GameObject GameObject_tile in GameObject_tiles) { Tile tile = GameObject_tile.GetComponent <Rest_Tile>(); if (tile != null) { if (tile.Is_available() && !tile.is_playable) { empty_tiles.Add(GameObject_tile.GetComponent <Rest_Tile>()); } } } if (empty_tiles.Count > 0) { Vector3 spawn_position = empty_tiles[0].transform.position + (new Vector3(0, 3, 0)); GameObject new_mage = null; new_mage = Instantiate(mages[index], spawn_position, Quaternion.identity); Character mage = new_mage.GetComponent <Character>(); mage.set_up(); if (Game.Instance.player1.gold < mage.price()) { Destroy(new_mage); return; } Game.Instance.player1.gold -= mage.price(); mage.owner = Game.Instance.player1; Game.Instance.player1.characters.Add(mage); empty_tiles[0].Occupy(ref mage); } b.enabled = false; }
private void Snap_to_base(Character character) { GameObject[] GameObject_tiles = GameObject.FindGameObjectsWithTag("Tile"); List <Tile> empty_tiles = new List <Tile>(); foreach (GameObject GameObject_tile in GameObject_tiles) { Tile tile = GameObject_tile.GetComponent <Tile>(); if (tile != null) { if (tile.Is_available() && !tile.is_playable) { empty_tiles.Add(GameObject_tile.GetComponent <Tile>()); } } } if (empty_tiles.Count > 0) { Vector3 spawn_position = empty_tiles[0].transform.position + (new Vector3(0, 3, 0)); character.transform.position = spawn_position; empty_tiles[0].Occupy(ref character); } }