コード例 #1
0
    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;
    }
コード例 #2
0
    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);
        }
    }