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

69 lines
1.6 KiB
C++

#pragma once
#ifdef _NA_000000_20140120_SMART_NPC_SYSTEM
#include "uiSmartNpcDialogMan/uiSmartNpcDialog.h"
#include "FTextParser.h"
#include "FTextSentence.h"
#include "FTextRender.h"
class uiSmartNpcDialogMenu : public uiSmartNpcDialog
{
public:
enum UIControlPos
{
kControl_Button_B999,
kControl_Text_T999,
kControl_List_L000,
kControl_VScroll_V001,
kControl_Button_B001,
kControl_Button_B002,
kControl_Button_B003,
kControl_Button_B004,
kControl_Button_B005,
kControl_Button_B006,
kControl_Size,
};
uiSmartNpcDialogMenu(InterfaceManager* ui_manager = &g_InterfaceManager);
~uiSmartNpcDialogMenu();
VOID Init(CDrawBase* pDrawBase);
BOOL CreateControls(BYTE sub_type);
void SetControlText(BYTE contorl_index, const TCHAR *text_massage);
void SetControlEventID(BYTE contorl_index, DWORD event_id, DWORD step);
public:
void SetButtonCount(BYTE count) { button_count_ = count; }
protected:
virtual void OnRenderSolarDialog();
virtual void OnUpdateSolarDialog();
virtual void OnShowWindow( BOOL val );
virtual void MessageProc(SI_MESSAGE* message);
bool OnLButtonClick(SI_MESSAGE* message);
void SetTextMessage(const TCHAR *text_massage);
private:
void UpdateMouseWheel();
CDrawBase * draw_;
FTextRender ftext_render_;
CCtrlVScrollWZ* scroll_control_;
CCtrlListWZ* list_control_;
int button_count_; // ¹öư ¼ö
EVENT_IDSTEP button_event_id[uiSmartNpcDialogMan::MaxMenuButton];
};
#endif //_NA_000000_20140120_SMART_NPC_SYSTEM