* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
59 lines
2.3 KiB
C++
59 lines
2.3 KiB
C++
#pragma once
|
|
|
|
class Objective;
|
|
class ObjectiveCriteria;
|
|
class PlayerTeam;
|
|
class Score;
|
|
|
|
class Scoreboard
|
|
{
|
|
public:
|
|
static const int DISPLAY_SLOT_LIST = 0;
|
|
static const int DISPLAY_SLOT_SIDEBAR = 1;
|
|
static const int DISPLAY_SLOT_BELOW_NAME = 2;
|
|
static const int DISPLAY_SLOTS = 3;
|
|
|
|
private:
|
|
unordered_map<wstring, Objective *> objectivesByName;
|
|
unordered_map<ObjectiveCriteria *, vector<Objective *> *> objectivesByCriteria;
|
|
unordered_map<wstring, unordered_map<Objective *, Score *> > playerScores;
|
|
Objective *displayObjectives[DISPLAY_SLOTS];
|
|
unordered_map<wstring, PlayerTeam *> teamsByName;
|
|
unordered_map<wstring, PlayerTeam *> teamsByPlayer;
|
|
|
|
public:
|
|
Objective *getObjective(const wstring &name);
|
|
Objective *addObjective(const wstring &name, ObjectiveCriteria *criteria);
|
|
vector<Objective *> *findObjectiveFor(ObjectiveCriteria *criteria);
|
|
Score *getPlayerScore(const wstring &name, Objective *objective);
|
|
vector<Score *> *getPlayerScores(Objective *objective);
|
|
vector<Objective *> *getObjectives();
|
|
vector<wstring> *getTrackedPlayers();
|
|
void resetPlayerScore(const wstring &player);
|
|
vector<Score *> *getScores();
|
|
vector<Score *> *getScores(Objective *objective);
|
|
unordered_map<Objective *, Score *> *getPlayerScores(const wstring &player);
|
|
void removeObjective(Objective *objective);
|
|
void setDisplayObjective(int slot, Objective *objective);
|
|
Objective *getDisplayObjective(int slot);
|
|
PlayerTeam *getPlayerTeam(const wstring &name);
|
|
PlayerTeam *addPlayerTeam(const wstring &name);
|
|
void removePlayerTeam(PlayerTeam *team);
|
|
void addPlayerToTeam(const wstring &player, PlayerTeam *team);
|
|
bool removePlayerFromTeam(const wstring &player);
|
|
void removePlayerFromTeam(const wstring &player, PlayerTeam *team);
|
|
vector<wstring> *getTeamNames();
|
|
vector<PlayerTeam *> *getPlayerTeams();
|
|
shared_ptr<Player> getPlayer(const wstring &name);
|
|
PlayerTeam *getPlayersTeam(const wstring &name);
|
|
void onObjectiveAdded(Objective *objective);
|
|
void onObjectiveChanged(Objective *objective);
|
|
void onObjectiveRemoved(Objective *objective);
|
|
void onScoreChanged(Score *score);
|
|
void onPlayerRemoved(const wstring &player);
|
|
void onTeamAdded(PlayerTeam *team);
|
|
void onTeamChanged(PlayerTeam *team);
|
|
void onTeamRemoved(PlayerTeam *team);
|
|
static wstring getDisplaySlotName(int slot);
|
|
static int getDisplaySlotByName(const wstring &name);
|
|
}; |