示例#1
0
    public void placeTile(int tileID, int x, int y, int rotate)
    {
        ResistileServer.GameTile gameTile = getGameTile(tileID);
        GameObject boardNode = BoardHandler.GetNodeAt(x, y);

        if (gameTile.type.Contains("Wire"))
        {
            foreach (Transform wireTile in wireHand.transform)
            {
                if (wireTile.gameObject.GetComponent <TileData>().tileID == tileID)
                {
                    while (wireTile.GetComponent <TileData>().rotation != 0)
                    {
                        wireTile.GetComponent <RotateTile>().TaskOnClick();
                    }
                    wireTile.transform.SetParent(boardNode.transform, false);
                    wireTile.transform.SetAsFirstSibling();
                    removeRotate(wireTile.gameObject);
                    for (int i = 0; i < rotate; i++)
                    {
                        wireTile.GetComponent <RotateTile>().TaskOnClick();
                    }
                }
            }
        }
        else
        {
            var tile = createGameTile(tileID);
            tile.transform.SetParent(boardNode.transform, false);
            tile.GetComponent <Draggable>().enabled = false;
            removeRotate(tile);
            tile.transform.SetAsFirstSibling();
            for (int i = 0; i < rotate; i++)
            {
                tile.GetComponent <RotateTile>().TaskOnClick();
            }
        }
    }