get zones from settings

This commit is contained in:
Aaron Kimbre 2022-05-17 10:18:50 -05:00
parent cc23538244
commit 81af1f382e

View File

@ -6,16 +6,13 @@
RocketLaunchLupComponent::RocketLaunchLupComponent(Entity* parent) : Component(parent) {
m_Parent = parent;
// get the lup worlds from the cdclient
std::string query = "SELECT * FROM LUPZoneIDs;";
auto results = CDClientDatabase::ExecuteQuery(query);
while (!results.eof()) {
// fallback to 1600 incase there is an issue
m_LUPWorlds.push_back(results.getIntField(0, 1600));
results.nextRow();
std::string zoneString = GeneralUtils::UTF16ToWTF8(m_Parent->GetVar<std::u16string>(u"MultiZoneIDs"));
std::stringstream ss(zoneString);
for (int i; ss >> i;) {
m_LUPWorlds.push_back(i);
if (ss.peek() == ';')
ss.ignore();
}
results.finalize();
}
RocketLaunchLupComponent::~RocketLaunchLupComponent() {}
@ -29,11 +26,7 @@ void RocketLaunchLupComponent::OnUse(Entity* originator) {
}
void RocketLaunchLupComponent::OnSelectWorld(Entity* originator, uint32_t index) {
// Add one to index because the actual LUP worlds start at index 1.
index++;
auto* rocketLaunchpadControlComponent = m_Parent->GetComponent<RocketLaunchpadControlComponent>();
if (!rocketLaunchpadControlComponent) return;
rocketLaunchpadControlComponent->Launch(originator, m_LUPWorlds[index], 0);