mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 06:21:28 +00:00
[Code] WorldEventScheduler and ZoneEventScheduler Global to Singleton Cleanup (#4932)
This commit is contained in:
parent
f304f9cc61
commit
967a13e692
@ -95,7 +95,6 @@ ClientList client_list;
|
|||||||
GroupLFPList LFPGroupList;
|
GroupLFPList LFPGroupList;
|
||||||
ZSList zoneserver_list;
|
ZSList zoneserver_list;
|
||||||
LauncherList launcher_list;
|
LauncherList launcher_list;
|
||||||
WorldEventScheduler event_scheduler;
|
|
||||||
volatile bool RunLoops = true;
|
volatile bool RunLoops = true;
|
||||||
uint32 numclients = 0;
|
uint32 numclients = 0;
|
||||||
uint32 numzones = 0;
|
uint32 numzones = 0;
|
||||||
@ -418,7 +417,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
event_scheduler.Process(&zoneserver_list);
|
WorldEventScheduler::Instance()->Process(&zoneserver_list);
|
||||||
|
|
||||||
client_list.Process();
|
client_list.Process();
|
||||||
guild_mgr.Process();
|
guild_mgr.Process();
|
||||||
|
|||||||
@ -224,8 +224,6 @@ void WorldBoot::RegisterLoginservers()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern WorldEventScheduler event_scheduler;
|
|
||||||
|
|
||||||
bool WorldBoot::DatabaseLoadRoutines(int argc, char **argv)
|
bool WorldBoot::DatabaseLoadRoutines(int argc, char **argv)
|
||||||
{
|
{
|
||||||
// logging system init
|
// logging system init
|
||||||
@ -389,7 +387,7 @@ bool WorldBoot::DatabaseLoadRoutines(int argc, char **argv)
|
|||||||
content_db.LoadCharacterCreateCombos();
|
content_db.LoadCharacterCreateCombos();
|
||||||
|
|
||||||
LogInfo("Initializing [EventScheduler]");
|
LogInfo("Initializing [EventScheduler]");
|
||||||
event_scheduler.SetDatabase(&database)->LoadScheduledEvents();
|
WorldEventScheduler::Instance()->SetDatabase(&database)->LoadScheduledEvents();
|
||||||
|
|
||||||
LogInfo("Initializing [WorldContentService]");
|
LogInfo("Initializing [WorldContentService]");
|
||||||
content_service.SetDatabase(&database)
|
content_service.SetDatabase(&database)
|
||||||
|
|||||||
@ -7,6 +7,12 @@
|
|||||||
class WorldEventScheduler : public ServerEventScheduler {
|
class WorldEventScheduler : public ServerEventScheduler {
|
||||||
public:
|
public:
|
||||||
void Process(ZSList *zs_list);
|
void Process(ZSList *zs_list);
|
||||||
|
|
||||||
|
static WorldEventScheduler* Instance()
|
||||||
|
{
|
||||||
|
static WorldEventScheduler instance;
|
||||||
|
return &instance;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //EQEMU_EVENT_SCHEDULER_H
|
#endif //EQEMU_EVENT_SCHEDULER_H
|
||||||
|
|||||||
@ -88,7 +88,6 @@ extern volatile bool is_zone_loaded;
|
|||||||
#include "../common/path_manager.h"
|
#include "../common/path_manager.h"
|
||||||
#include "../common/database/database_update.h"
|
#include "../common/database/database_update.h"
|
||||||
#include "../common/skill_caps.h"
|
#include "../common/skill_caps.h"
|
||||||
#include "zone_event_scheduler.h"
|
|
||||||
#include "zone_cli.h"
|
#include "zone_cli.h"
|
||||||
|
|
||||||
EntityList entity_list;
|
EntityList entity_list;
|
||||||
@ -102,7 +101,6 @@ TitleManager title_manager;
|
|||||||
QueryServ *QServ = 0;
|
QueryServ *QServ = 0;
|
||||||
NpcScaleManager *npc_scale_manager;
|
NpcScaleManager *npc_scale_manager;
|
||||||
QuestParserCollection *parse = 0;
|
QuestParserCollection *parse = 0;
|
||||||
ZoneEventScheduler event_scheduler;
|
|
||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
|
|
||||||
@ -416,7 +414,7 @@ int main(int argc, char **argv)
|
|||||||
->SetExpansionContext()
|
->SetExpansionContext()
|
||||||
->ReloadContentFlags();
|
->ReloadContentFlags();
|
||||||
|
|
||||||
event_scheduler.SetDatabase(&database)->LoadScheduledEvents();
|
ZoneEventScheduler::Instance()->SetDatabase(&database)->LoadScheduledEvents();
|
||||||
|
|
||||||
EQ::SayLinkEngine::LoadCachedSaylinks();
|
EQ::SayLinkEngine::LoadCachedSaylinks();
|
||||||
|
|
||||||
@ -482,7 +480,7 @@ int main(int argc, char **argv)
|
|||||||
QServ->CheckForConnectState();
|
QServ->CheckForConnectState();
|
||||||
|
|
||||||
worldserver.Connect();
|
worldserver.Connect();
|
||||||
worldserver.SetScheduler(&event_scheduler);
|
worldserver.SetScheduler(ZoneEventScheduler::Instance());
|
||||||
|
|
||||||
// sidecar command handler
|
// sidecar command handler
|
||||||
if (ZoneCLI::RanConsoleCommand(argc, argv)
|
if (ZoneCLI::RanConsoleCommand(argc, argv)
|
||||||
@ -626,7 +624,7 @@ int main(int argc, char **argv)
|
|||||||
entity_list.MobProcess();
|
entity_list.MobProcess();
|
||||||
entity_list.BeaconProcess();
|
entity_list.BeaconProcess();
|
||||||
entity_list.EncounterProcess();
|
entity_list.EncounterProcess();
|
||||||
event_scheduler.Process(zone, &content_service);
|
ZoneEventScheduler::Instance()->Process(zone, &content_service);
|
||||||
|
|
||||||
if (zone) {
|
if (zone) {
|
||||||
if (!zone->Process()) {
|
if (!zone->Process()) {
|
||||||
|
|||||||
@ -9,6 +9,12 @@ class ZoneEventScheduler : public ServerEventScheduler {
|
|||||||
public:
|
public:
|
||||||
void Process(Zone *zone, WorldContentService *content_service);
|
void Process(Zone *zone, WorldContentService *content_service);
|
||||||
void SyncEventDataWithActiveEvents();
|
void SyncEventDataWithActiveEvents();
|
||||||
|
|
||||||
|
static ZoneEventScheduler* Instance()
|
||||||
|
{
|
||||||
|
static ZoneEventScheduler instance;
|
||||||
|
return &instance;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //EQEMU_ZONE_EVENT_SCHEDULER_H
|
#endif //EQEMU_ZONE_EVENT_SCHEDULER_H
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user