Files
2022-10-26 12:25:11 +08:00

120 lines
3.6 KiB
C++

#pragma once
#ifdef _NA_007114_20140313_CHAOSZONE_GOLDRUSH
#include "uiBase.h"
#include "TreeMenuGroup.h"
#include "ChaosSystem/ChaosZoneTreeParser.h"
#include "ChaosSystem/ChaosSystemMan.h"
#include <SCItemSlotContainer.h>
#include "FTextParser.h"
#include "FTextSentence.h"
#include "FTextRender.h"
#include <SCItemSlotContainer.h>
#include <SCItemSlot.h>
class uiChaosZoneGoldRush : public uiBase, public SCItemSlotContainer
{
// 이 부분은 ui가 나오고 변경 될 수 있음
enum UIControlPos
{
kControl_Picture_P024 = 0, // 보상슬롯 (인덱스 0부터..)
kControl_Picture_P025,
kControl_Picture_P026,
kControl_Picture_P027,
kControl_Picture_P028,
kControl_Picture_P029,
kControl_Picture_P030,
kControl_Picture_P031,
kControl_Picture_P032,
kControl_Picture_P033, // 보상슬롯 끝
kControl_Button_B999,
kControl_Text_T999,
kControl_Button_B005,
kControl_VScroll_V001,
kControl_Text_S000,
kControl_Picture_P001,
kControl_Picture_P005,
kControl_Picture_P009,
kControl_List_L000,
kControl_List_L001,
kControl_Text_S006,
kControl_Text_S009,
kControl_Text_S010,
kControl_Button_B000,
kControl_Button_B001,
kControl_Button_B002,
kControl_Button_B003,
kControl_Button_B004,
kControl_Button_B007,
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
kControl_Check_C000,
kControl_Check_C001,
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
kControl_Size,
};
enum
{
kSlotTotalCount = kControl_Picture_P033 - kControl_Picture_P024 + 1,
};
public:
uiChaosZoneGoldRush(InterfaceManager* ui_manager_ptr);
virtual ~uiChaosZoneGoldRush();
virtual void Init(CDrawBase* draw_base_ptr);
virtual void Release();
virtual void OnReset();
virtual void MessageProc(SI_MESSAGE* message);
virtual void NetworkProc(MSG_BASE* recv_packet);
virtual void OnUpdateSolarDialog();
virtual void OnRenderSolarDialog();
virtual void OnShowWindow(BOOL is_show);
void SetReservationButton(const bool& is_resvervation); // 입장 버튼 텍스트 설정
private:
uiChaosSystemMan* GetManager();
bool OnLButtonClick(SI_MESSAGE* message);
bool OnRButtonClick(SI_MESSAGE* message);
bool OnMouseOver(SI_MESSAGE* message);
void RenderTooltip();
TreeMenuGroup& tree_menu() { return tree_menu_; };
void MakeChaoszoneGoldRushTree(BYTE depth_3, BYTE depth_2, BYTE depth_1, BYTE depth_0, int depth,
DWORD string_code, TCHAR* string, const DWORD* font_colors, DWORD map_code);
bool SelectIndex(TreeMenuGroup::TreeObject* tree_object);
void InitGoldRushInfo(const ChaosZoneTreeInfo* chaoszone_info);
void UpdateMouseWheel();
RC::eSLOT_INSERT_RESULT InsertSlot(POSTYPE at_pos, DWORD type_code, DWORD type_index);
BOOL DeleteSlot(POSTYPE at_pos, SCSlot* slot_out);
void DeleteAllSlot();
void ReFreshRendereSlot();
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
void MovementButtonMessageProc(SI_MESSAGE* message);
POINT mouse_cursor_point;
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
private:
TreeMenuGroup tree_menu_;
CCtrlVScrollWZ* scroll_control_ptr_;
CCtrlListWZ* list_control_ptr_;
uiChaosSystemMan* ui_chaossystem_manager_;
bool once_make_list_;
CHAOSZONE_TREE_INDEX select_index_; // 선택된 트리 인덱스
DWORD last_select_index_;
FTextRender ftext_render_;
ItemUnitRenderer* item_unit_renderer_;
public:
static const DWORD kDialog_ID;
};
#endif // _NA_007114_20140313_CHAOSZONE_GOLDRUSH