#include "Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h" #include "Contents/UserData/AccountLinkedUserDataSaveAsyncWork.h" #include "Contents/Async/AsyncWorkRecycleObjectPoolMgr.h" #include "Contents/Party/ChangePartyMasterAsyncWork.h" #include "Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.h" #include "Contents/UserData/CharacterLinkedUserDataSaveAsyncWork.h" #include "Contents/Emblems/EmblemDataDownloadAsyncWork.h" #include "Contents/Emblems/EmblemDataUploadAsyncWork.h" #include "Contents/Party/LoadMyPartyAsyncWork.h" #include "Contents/Party/LoadPartyInfoAsyncWork.h" #include "Contents/Party/LoadPartyListAsyncWork.h" #include "Contents/Store/MCStoreInfoBackupAsyncWork.h" #include "Contents/Party/RegisterPartyAsyncWork.h" #include "Contents/Party/StopRecruitingAsyncWork.h" #include #include // OFFSET: 0x00576660 CAsyncWorkRecycleObjectPoolMgr::CAsyncWorkRecycleObjectPoolMgr() : m_registered(false) { if (this->RegisterPools()) { this->m_registered = true; } } // OFFSET: 0x00578230 // FUNCTION: fn_02550 CAsyncWorkRecycleObjectPoolMgr::~CAsyncWorkRecycleObjectPoolMgr() { for (const auto& entry : this->m_pools) { delete entry.second; } } // OFFSET: 0x00578F30 // FUNCTION: fn_02566 bool CAsyncWorkRecycleObjectPoolMgr::RegisterPools() { const auto insert = [&](const char* name) { std::unique_ptr pool(new (std::nothrow) NRecycleObjectPool(2)); if (!this->m_pools.emplace(name, pool.get()).second) { return false; } pool.release(); return true; }; return insert.operator()("AccountLinkedUserData_Load") && insert.operator()("AccountLinkedUserData_Save") && insert.operator()("CharacterLinkedUserData_Load") && insert.operator()("CharacterLinkedUserData_Save") && insert.operator()("Emblem_Upload") && insert.operator()("Emblem_Download") && insert.operator()("MerchantStoreInformation_Load") && insert.operator()("MerchantStoreInformation_Save") && insert.operator()("PartyList_Load") && insert.operator()("MyParty_Load") && insert.operator()("Register_Party") && insert.operator()("Stop_Recruiting") && insert.operator()("Change_PartyMaster") && insert.operator()("PartyInfo_Load"); }