Files
Sun1602/Client/GameClient/Interface/uiGuildEventDialog/uiGuildEventDialog.h
T
2022-10-26 12:25:11 +08:00

74 lines
1.5 KiB
C++

#include "uibase.h"
#ifdef __NA_001027_20080423_RANDOM_REWARD_EVENT_
#define MAX_VIEW_LIST_ROW_COUNT 9
struct CLIENT_EXCHANG_ITEM_INFO
{
int itemCode;
int itemNum;
};
class uiGuildEventDialog : public uiBase
{
enum eDIALOG_POS
{
DLGPOS_BTN_OK,
DLGPOS_BTN_EXIT,
DLGPOS_LIST,
DLGPOS_VSCROLL,
DLGPOS_TEXT_LIST,
DLGPOS_TEXT_BUTTON0,
DLGPOS_TEXT_BUTTON1,
DLGPOS_MAX,
};
public:
uiGuildEventDialog(InterfaceManager * pUIMan );
~uiGuildEventDialog();
virtual void Init(CDrawBase * pDrawBase);
virtual void Release();
virtual void OnUpdateSolarDialog();
virtual void OnRenderSolarDialog();
virtual void Process(DWORD dwTick);
virtual void OnShowWindow(BOOL val);
virtual void MessageProc(SI_MESSAGE * pMessage);
virtual void NetworkProc(MSG_BASE * pMsg);
void NET_SEND_CG_ITEM_EXCHANGE_REWARD_ITEM_SYN();
protected:
CControlWZ * getControl(POSTYPE AtPos);
POSTYPE getControlIDToPos(WzID wzID);
void RegisterItemList();
private:
static WzID m_wzID[DLGPOS_MAX];
CCtrlButtonWZ * m_pButton;
CCtrlListWZ * m_pList;
CCtrlVScrollWZ * m_pVScroll;
CLIENT_EXCHANG_ITEM_INFO m_ClientExchangInfo;
int m_iCurScrollValue;
int m_iMaxScrollValue;
BOOL m_bShow;
};
inline CControlWZ * uiGuildEventDialog::getControl(POSTYPE AtPos)
{
assert(AtPos < DLGPOS_MAX);
return GetControlWZ(m_wzID[AtPos]);
}
inline POSTYPE uiGuildEventDialog::getControlIDToPos(WzID wzID)
{
for ( int i = 0; i < DLGPOS_MAX ; ++i)
{
if ( m_wzID[i] == wzID)
return i;
}
return DLGPOS_MAX;
}
#endif