Files
dota_factory/src/ui/VisualsConfig.h
2026-04-20 20:33:37 +02:00

79 lines
1.1 KiB
C++

#pragma once
#include <map>
#include <string>
#include <QColor>
#include <QString>
#include "BuildingType.h"
struct TileVisuals
{
QColor fill;
};
struct BuildingVisuals
{
QColor fill;
QColor outline;
QString glyph;
};
struct ItemVisuals
{
QColor fill;
QColor outline;
};
struct ShipVisuals
{
QColor fill;
QColor outline;
};
struct BeamVisuals
{
QColor color;
int widthPx;
};
struct OverlayVisuals
{
QColor ghostValid;
QColor ghostInvalid;
QColor demolishTint;
QColor selectionRect;
QColor tileHighlight;
QColor selectedOutline;
};
struct ToastVisuals
{
QColor bg;
QColor fg;
int fontSize;
};
enum class ShipRole
{
PlayerCombat,
Salvage,
Repair,
Enemy,
};
struct VisualsConfig
{
TileVisuals asteroid;
TileVisuals space;
std::map<BuildingType, BuildingVisuals> buildings;
std::map<std::string, ItemVisuals> items;
std::map<ShipRole, ShipVisuals> ships;
BeamVisuals beams;
OverlayVisuals overlays;
ToastVisuals toast;
};