Files
Ascent-of-Man/player.h
T
2026-11-08 15:42:54 +01:00

35 lines
928 B
C++

#ifndef PLAYER_H
#define PLAYER_H
#include <QString>
#include <QColor>
#include <vector>
struct Player {
int id;
QString name;
QColor primaryColor;
QColor secondaryColor;
Player() : id(0), name("Unknown"), primaryColor(Qt::blue), secondaryColor(Qt::white) {}
Player(int pId, const QString &pName, const QColor &primary, const QColor &secondary)
: id(pId), name(pName), primaryColor(primary), secondaryColor(secondary) {}
};
class PlayerManager {
public:
PlayerManager();
bool addPlayer(int id, const QString &name, const QColor &primary, const QColor &secondary);
const Player* getPlayer(int id) const;
Player* getPlayer(int id);
const std::vector<Player>& getPlayers() const { return m_players; }
bool isCombinationUnique(const QColor &primary, const QColor &secondary, int excludeId = -1) const;
private:
std::vector<Player> m_players;
};
#endif // PLAYER_H