Files
dota_factory/src/ui/VisualsConfig.h

89 lines
1.7 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 weaponColor;
QColor repairColor;
QColor salvageColor;
int widthPx;
};
struct OverlayVisuals
{
QColor ghostValid;
QColor ghostInvalid;
QColor deconstructTint;
QColor selectionRect;
QColor tileHighlight;
QColor selectedOutline;
QColor configTransfer; // blueprint ghost over a transfer target (REQ-UI-BLUEPRINT-TRANSFER)
QColor lockedAsteroid;
QColor modalDim;
QColor tunnelPreview; // tunnel connection preview highlight (REQ-BLD-TUNNEL-MODE)
};
struct ToastVisuals
{
QColor bg;
QColor fg;
int fontSize;
};
// Fill colors for the building status light (REQ-UI-STATUS-LIGHT), plus its
// constant outline color.
struct StatusLightVisuals
{
QColor grey; // no recipe/schematic selected
QColor green; // producing
QColor red; // idle, input missing (or Salvage Bay empty)
QColor yellow; // idle, output buffer full
QColor outline;
};
struct VisualsConfig
{
TileVisuals asteroid;
TileVisuals space;
std::map<BuildingType, BuildingVisuals> buildings;
std::map<std::string, ItemVisuals> items;
std::map<std::string, ShipVisuals> ships;
BeamVisuals beams;
OverlayVisuals overlays;
ToastVisuals toast;
StatusLightVisuals statusLight;
};