1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-25 19:17:45 +00:00
sapphire/src/servers/Server_Zone/Zone/ZoneMgr.h

37 lines
549 B
C
Raw Normal View History

2017-08-08 13:53:47 +02:00
#ifndef _ZONEMGR_H
#define _ZONEMGR_H
#include "Forwards.h"
2017-12-11 16:55:05 +11:00
#include <map>
#include <unordered_map>
2017-08-08 13:53:47 +02:00
namespace Core {
2017-12-11 16:55:05 +11:00
using ZoneMap = std::unordered_map< uint32_t, ZonePtr >;
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
class ZoneMgr
{
public:
ZoneMgr();
~ZoneMgr();
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
bool createZones();
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
ZonePtr getZone( uint32_t zoneId );
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
void loadZonePositionMap();
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
ZonePositionPtr getZonePosition( uint32_t zonePositionId );
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
void updateZones();
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
private:
ZoneMap m_zoneMap;
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
std::unordered_map< int32_t, ZonePositionPtr > m_zonePositionMap;
};
2017-08-08 13:53:47 +02:00
2017-12-11 16:55:05 +11:00
} // namespace Core
2017-08-08 13:53:47 +02:00
#endif