Files
dota_factory/src/balancing/BalancingConfig.h
2026-06-06 20:46:36 +02:00

49 lines
840 B
C++

#pragma once
#include <optional>
#include <string>
#include <vector>
#include <QPoint>
#include "ShipLayout.h"
struct ArenaStationEntry
{
std::string stationType; // "player_station" or "enemy_station"
int level;
QPoint position;
};
struct ArenaShipEntry
{
std::string schematicId;
int level;
int count;
std::optional<ShipLayoutConfig> layout;
};
struct ArenaTeamConfig
{
std::string name;
std::vector<ArenaShipEntry> ships;
std::vector<ArenaStationEntry> stations;
};
struct ArenaConfig
{
std::string name;
int heightTiles;
int playerBufferWidth_tiles;
int contestZoneWidth_tiles;
int enemyBufferWidth_tiles;
ArenaTeamConfig teams[2];
};
struct BalancingConfig
{
std::vector<ArenaConfig> arenas;
};
BalancingConfig loadBalancingConfig(const std::string& path);