示例#1
0
    public void Move(int x, int y)
    {
        int newX = (int)WorldMapData.CurrentPos.x + x;
        int newY = (int)WorldMapData.CurrentPos.y + y;

        WorldMapData.CurrentPos = new Vector2(newX, newY);
        WorldMapBuilder.UpdateDiscoveredMap(WorldMapData, newX, newY);

        switch (WorldMapData.WorldMapInfos[newX, newY])
        {
        case WorldMapCellType.Battleground:
            WorldMapData.WorldMapInfos[newX, newY] = WorldMapCellType.Empty;
            GenerateBattleground(WorldMapBuilder.WorldMap[newX, newY]);
            break;

        case WorldMapCellType.Chest:
            WorldMapData.WorldMapInfos[newX, newY] = WorldMapCellType.Empty;
            GenerateChest();
            break;

        case WorldMapCellType.NewTeamMember:
            WorldMapData.WorldMapInfos[newX, newY] = WorldMapCellType.Empty;
            GenerateNewTeamMember();
            break;

        default:
            break;
        }

        if (WorldMapData.WorldMapInfos[newX, newY] != WorldMapCellType.City)
        {
            WorldMapData.WorldMapInfos[newX, newY] = WorldMapCellType.Empty;
        }

        WorldMapBuilder.Generate(WorldMapData);
        WorldMapMoveButtonManager.UpdateButtons();
    }