Esempio n. 1
0
    public void CmdPlaceSettlement(int col, int row, int vertexSpec)
    {
        Player    player    = GameManager.Instance.GetPlayerById(playerBehaviour.netId + "");
        BoardGrid boardGrid = GameManager.Instance.GetGame().boardHandler.GetBoardGrid();

        Vertex     vertex     = boardGrid.GetVertex(col, row, (BoardGrid.VertexSpecifier)vertexSpec);
        Settlement settlement = new Settlement();

        settlement.ownerId = player.GetId();
        settlement.isCity  = false;
        vertex.settlement  = settlement;
        if (player.freeSettlements >= 1)
        {
            player.freeSettlements--;
        }
        else
        {
            player.RemoveResources(1, 1, 1, 1, 0);
        }

        player.storeSettlementNum--;

        // If this was the second turn, give resources related to tiles surrounding this settlement to player.
        if (GameManager.Instance.GetTurnCycle() == 2)
        {
            foreach (Face face in boardGrid.GetFacesFromVertexCoordinate(col, row, (BoardGrid.VertexSpecifier)vertexSpec))
            {
                if (face.tile != null)
                {
                    player.AddResource(face.tile.resourceType, 1);
                }
            }
        }

        GameManager.Instance.SetDirtyBit(0b11111111);
    }