[Repositories] Migrate LoadPerlEventExportSettings to use repositories (#2637)

* [Repositories] Migrate LoadPerlEventExportSettings to use repositories

* Update quest_parser_collection.cpp
This commit is contained in:
Chris Miles 2022-12-14 22:26:14 -06:00 committed by GitHub
parent dce5f03e74
commit d9e5056657
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 36 deletions

View File

@ -26,6 +26,7 @@
#include "zone.h"
#include "questmgr.h"
#include "../common/path_manager.h"
#include "../common/repositories/perl_event_export_settings_repository.h"
#include <stdio.h>
@ -1062,43 +1063,26 @@ int QuestParserCollection::DispatchEventSpell(
return ret;
}
void QuestParserCollection::LoadPerlEventExportSettings(PerlEventExportSettings* perl_event_export_settings) {
LogInfo("Loading Perl Event Export Settings...");
/* Write Defaults First (All Enabled) */
for (int i = 0; i < _LargestEventID; i++){
perl_event_export_settings[i].qglobals = 1;
perl_event_export_settings[i].mob = 1;
perl_event_export_settings[i].zone = 1;
perl_event_export_settings[i].item = 1;
perl_event_export_settings[i].event_variables = 1;
void QuestParserCollection::LoadPerlEventExportSettings(PerlEventExportSettings *s)
{
for (int i = 0; i < _LargestEventID; i++) {
s[i].qglobals = 1;
s[i].mob = 1;
s[i].zone = 1;
s[i].item = 1;
s[i].event_variables = 1;
}
std::string query =
"SELECT "
"event_id, "
"event_description, "
"export_qglobals, "
"export_mob, "
"export_zone, "
"export_item, "
"export_event "
"FROM "
"perl_event_export_settings "
"ORDER BY event_id";
int event_id = 0;
auto results = database.QueryDatabase(query);
for (auto row = results.begin(); row != results.end(); ++row) {
event_id = atoi(row[0]);
perl_event_export_settings[event_id].qglobals = atoi(row[2]);
perl_event_export_settings[event_id].mob = atoi(row[3]);
perl_event_export_settings[event_id].zone = atoi(row[4]);
perl_event_export_settings[event_id].item = atoi(row[5]);
perl_event_export_settings[event_id].event_variables = atoi(row[6]);
auto settings = PerlEventExportSettingsRepository::All(database);
for (auto &e: settings) {
s[e.event_id].qglobals = e.export_qglobals;
s[e.event_id].mob = e.export_mob;
s[e.event_id].zone = e.export_zone;
s[e.event_id].item = e.export_item;
s[e.event_id].event_variables = e.export_event;
}
LogInfo("Loaded [{}] Perl Event Export Settings", settings.size());
}
#ifdef BOTS

View File

@ -97,7 +97,7 @@ public:
std::vector<std::any> *extra_pointers = nullptr
);
#endif
void GetErrors(std::list<std::string> &quest_errors);
/*
@ -119,7 +119,7 @@ public:
PerlEventExportSettings perl_event_export_settings[_LargestEventID];
void LoadPerlEventExportSettings(PerlEventExportSettings* perl_event_export_settings);
void LoadPerlEventExportSettings(PerlEventExportSettings* s);
private:
bool HasQuestSubLocal(uint32 npcid, QuestEventID evt);
@ -173,7 +173,7 @@ private:
QuestInterface *GetQIByBotQuest(std::string &filename);
QuestInterface *GetQIByGlobalBotQuest(std::string &filename);
#endif
int DispatchEventNPC(QuestEventID evt, NPC* npc, Mob *init, std::string data, uint32 extra_data,
std::vector<std::any> *extra_pointers);
int DispatchEventPlayer(QuestEventID evt, Client *client, std::string data, uint32 extra_data,