DarkflameServer/dGame/TeamManager.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

36 lines
689 B
C
Raw Normal View History

#pragma once
#include "Entity.h"
struct Team {
Team();
LWOOBJID teamID = LWOOBJID_EMPTY;
char lootOption = 0;
std::vector<LWOOBJID> members{};
char lootRound = 0;
};
class TeamManager {
public:
static TeamManager* Instance() {
if (!m_Address) {
m_Address = new TeamManager();
}
2022-07-28 13:39:57 +00:00
return m_Address;
}
Team* GetTeam(LWOOBJID member) const;
LWOOBJID GetNextLootOwner(Team* team) const;
void UpdateTeam(LWOOBJID teamId, char lootOption, const std::vector<LWOOBJID>& members);
void DeleteTeam(LWOOBJID teamId);
explicit TeamManager();
~TeamManager();
private:
static TeamManager* m_Address; //For singleton method
std::unordered_map<LWOOBJID, Team*> m_Teams{};
};