Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.
Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#ifndef RAGNAROK_SOURCE_UI_PARTY_UIPARTYINFOWND_H
|
|
#define RAGNAROK_SOURCE_UI_PARTY_UIPARTYINFOWND_H
|
|
|
|
#include "Contents/Party/AdvenPartyInfo.h"
|
|
#include "UI/Buttons/UIBitmapButton.h"
|
|
|
|
class PartyRowServices {
|
|
public:
|
|
virtual bool IsFriend(const std::string& name) = 0;
|
|
virtual bool IsGuildMember(std::uint32_t accountId) = 0;
|
|
virtual std::string CharacterCode(std::uint32_t characterId) = 0;
|
|
virtual void ShowCharacter(const char* name, const char* relationship, const char* code) = 0;
|
|
|
|
protected:
|
|
~PartyRowServices() = default;
|
|
};
|
|
|
|
struct PartyRowContext {
|
|
const std::uint32_t& accountId;
|
|
const std::uint32_t& characterId;
|
|
PartyRowServices& services;
|
|
};
|
|
|
|
class UIPartyInfoWnd : public UIBitmapButton {
|
|
public:
|
|
UIPartyInfoWnd(UIWindowContext& windows, UIButtonContext& buttons, PartyRowContext& row);
|
|
~UIPartyInfoWnd() override;
|
|
void Paint() override;
|
|
void Slot31(int x, int y) override;
|
|
void Slot33(int x, int y) override;
|
|
void SetInfo(const CAdvenPartyInfo& value);
|
|
void Reset();
|
|
static const char* TypeName(int type, ButtonServices& services);
|
|
|
|
/* 0120 */ std::string memo;
|
|
/* 0138 */ std::string levels;
|
|
/* 0150 */ int type;
|
|
/* 0154 */ int tanker;
|
|
/* 0158 */ int dealer;
|
|
/* 015C */ int healer;
|
|
/* 0160 */ int assist;
|
|
/* 0164 */ std::string name;
|
|
/* 017C */ CAdvenPartyInfo info;
|
|
|
|
private:
|
|
PartyRowContext* m_row;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(UIPartyInfoWnd) == 468);
|
|
#endif
|
|
|
|
#endif
|