48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
#include "game/Team.h"
|
|
|
|
namespace td {
|
|
namespace game {
|
|
|
|
class Player {
|
|
private:
|
|
game::TeamColor m_TeamColor;
|
|
|
|
std::uint32_t m_Gold;
|
|
std::uint32_t m_EXP;
|
|
std::string m_Name;
|
|
std::uint8_t m_ID;
|
|
|
|
std::uint8_t m_GoldPerSecond;
|
|
public:
|
|
Player(std::uint8_t id = 0) : m_TeamColor(game::TeamColor::None), m_Gold(0), m_EXP(0), m_ID(id), m_GoldPerSecond(5) {}
|
|
|
|
const std::string& getName() const { return m_Name; }
|
|
void setName(const std::string& name) { m_Name = name; }
|
|
|
|
game::TeamColor getTeamColor() const { return m_TeamColor; }
|
|
void setTeamColor(game::TeamColor teamColor) { m_TeamColor = teamColor; }
|
|
|
|
std::uint8_t getGoldPerSecond() const { return m_GoldPerSecond; }
|
|
void setGoldPerSecond(std::uint8_t goldPerSecond) { m_GoldPerSecond = goldPerSecond; }
|
|
|
|
std::uint32_t getGold() const { return m_Gold; }
|
|
void setGold(std::uint32_t gold) { m_Gold = gold; }
|
|
void addGold(std::uint32_t gold) { m_Gold += gold; }
|
|
void removeGold(std::uint32_t gold) { m_Gold -= gold; }
|
|
|
|
std::uint32_t getEXP() const { return m_EXP; }
|
|
void setEXP(std::uint32_t exp) { m_EXP = exp; }
|
|
void addEXP(std::uint32_t exp) { m_EXP += exp; }
|
|
void removeEXP(std::uint32_t exp) { m_EXP -= exp; }
|
|
|
|
std::uint8_t getID() const { return m_ID; }
|
|
};
|
|
|
|
} // namespace game
|
|
} // namespace td
|