-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSimpleZoneQueueManager.cpp
39 lines (32 loc) · 1.15 KB
/
SimpleZoneQueueManager.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "SimpleZoneQueueManager.h"
bool SimpleZoneQueueManager::AddPlayerToZone(const PlayerDataPtr & player, const ZoneQueuePtr & zone){
bool added = zone->AddPlayer(player);
return added;
}
ZoneQueuePtr const & SimpleZoneQueueManager::AddZoneQueue(const std::string & name, const std::list <ZoneQueueRequirement> & requirements) {
ZoneQueuePtr zone = std::make_shared<ZoneQueue>(name, requirements);
_allZones.push_back(zone);
return _allZones.back();
}
bool SimpleZoneQueueManager::RemovePlayerFromZone(const PlayerDataPtr& player, const ZoneQueuePtr& zone) {
bool result = zone->RemovePlayer(player);
return result;
}
std::list<ZoneQueuePtr> SimpleZoneQueueManager::GetZonesByName(const std::string& name) const {
std::list<ZoneQueuePtr> output;
for (auto zone : _allZones) {
if (zone->getName() == name) {
output.push_back(zone);
}
}
return output;
}
std::list<ZoneQueuePtr> SimpleZoneQueueManager::GetReadyZones() const {
std::list<ZoneQueuePtr> output;
for (auto zone : _allZones) {
if (zone->IsReady()) {
output.push_back(zone);
}
}
return output;
}