[Scheduler] Event scheduler implementation (#1257)

* Event scheduler implementation

* Create 2021_02_17_server_scheduled_events.sql

* Tweak

* Remove unused event [skip ci]

* Cleanup [skip ci]

* PR adjustments

* Database manifest
This commit is contained in:
Chris Miles
2021-03-29 02:52:57 -05:00
committed by GitHub
parent f51bc4daaf
commit 7aa5308f9c
31 changed files with 2053 additions and 50 deletions
+19 -1
View File
@@ -55,7 +55,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "zone_config.h"
#include "zone_reload.h"
extern EntityList entity_list;
extern Zone* zone;
extern volatile bool is_zone_loaded;
@@ -2815,6 +2814,15 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
break;
}
case ServerOP_UpdateSchedulerEvents: {
LogScheduler("Received signal from world to update");
if (m_zone_scheduler) {
m_zone_scheduler->LoadScheduledEvents();
}
break;
}
case ServerOP_HotReloadQuests:
{
if (!zone) {
@@ -3301,3 +3309,13 @@ void WorldServer::OnKeepAlive(EQ::Timer *t)
ServerPacket pack(ServerOP_KeepAlive, 0);
SendPacket(&pack);
}
ZoneEventScheduler *WorldServer::GetScheduler() const
{
return m_zone_scheduler;
}
void WorldServer::SetScheduler(ZoneEventScheduler *scheduler)
{
WorldServer::m_zone_scheduler = scheduler;
}