57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_LOADPARTYINFOASYNCWORK_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_LOADPARTYINFOASYNCWORK_H
|
|
|
|
#include "Utility/AsyncDiagnostic.h"
|
|
#include "Utility/NAsyncWork.h"
|
|
|
|
class WindowManagerWindows;
|
|
class ResourceMessages;
|
|
class ModeEvents;
|
|
struct WindowOrdering;
|
|
|
|
struct PartyInfoContext {
|
|
WindowManagerWindows& windows;
|
|
WindowOrdering& ordering;
|
|
ResourceMessages& messages;
|
|
ModeEvents*& mode;
|
|
const int& playerLevel;
|
|
const int& partyCount;
|
|
const bool& languagePrefix;
|
|
const int& service;
|
|
const unsigned short& language;
|
|
};
|
|
|
|
// RTTI CLoadPartyInfoAsyncWork, original x86 allocation 208.
|
|
class alignas(8) CLoadPartyInfoAsyncWork : public NAsyncWork {
|
|
public:
|
|
CLoadPartyInfoAsyncWork();
|
|
~CLoadPartyInfoAsyncWork() override;
|
|
void Reset() override;
|
|
bool Execute() override;
|
|
void Complete() override;
|
|
void Bind(
|
|
std::uint32_t accountId,
|
|
std::uint32_t characterId,
|
|
std::string world,
|
|
std::string url,
|
|
std::string token,
|
|
std::uint32_t queryAccountId,
|
|
PartyInfoContext& context
|
|
);
|
|
|
|
protected:
|
|
/* 0028 */ std::uint32_t m_accountId;
|
|
/* 002C */ std::uint32_t m_characterId;
|
|
/* 0030 */ std::string m_world;
|
|
/* 0048 */ std::string m_url;
|
|
/* 0060 */ std::string m_response;
|
|
/* 0078 */ std::string m_token;
|
|
/* 0090 */ std::uint32_t m_queryAccountId;
|
|
/* 0094 */ AsyncDiagnostic m_diagnostic;
|
|
PartyInfoContext* m_context;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(CLoadPartyInfoAsyncWork) == 208);
|
|
#endif
|
|
#endif
|