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

346 lines
12 KiB
C++

#pragma once
//------------------------------------------------------------------------------
#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//
// 작업자: KTW
// uiCashItemShopMileageDlg Class
//------------------------------------------------------------------------------
#include "uibase.h"
#ifdef __NA_00387_20070605_SHOP_MILEAGE2
#include "uiCashItemShopMan/uiCashItemShopMan.h"
#include "uiCashItemShopMan/uiCashItemShopDef.h"
class uiCashItemShopMan;
class uiCashItemShopMileageDlg: public uiBase, public uiCashItemShopBase
{
enum eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG
{
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_EXIT = 0,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_CASH_ITEM,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_MY_PAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_PACKAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_MILEAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_TOTAL,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_ARMOR,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_SKIN,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_CUSTOMIZE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_ITEM,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_PET,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_RIDER,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_PC,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_EXTENSION, // 기간연장
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_BUY_WCOIN,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY1,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY2,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY3,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY4,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY5,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY6,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY7,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY8,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY9,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_BUY10,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM1,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM2,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM3,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM4,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM5,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM6,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM7,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM8,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM9,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_ITEM10,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_MILEGE, // 해방군의 훈장 그림 버튼
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM1,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM2,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM3,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM4,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM5,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM6,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM7,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM8,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM9,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_ITEM10,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM1,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM2,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM3,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM4,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM5,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM6,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM7,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM8,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM9,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_MEMO_ITEM10,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TXT_MONEY,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TXT_MILEGE, // 마일리지
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_PREV_PAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_NEXT_PAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TXT_CURR_PAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_WCOIN_BACK,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_WCOINC_BACK,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_IMG_WCOINP_BACK,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_STXT_WCOINC,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_STXT_WCOINP,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_STXT_MILEAGE,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TXT_WCOINC,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TXT_WCOINP,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_WCOINBUY,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_BTN_SORTCLASS,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_SORTCLASS,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_TEXT_SORTCLASS,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_CHK_PPCARD,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_LIST_SUBMENU,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_MAX,
};
enum eCASH_ITEM_SHOP_MILEAGE_DLG_CHK
{
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_CASH_ITEM,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MY_PAGE,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_PACKAGE,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MILEAGE,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MAX,
};
public:
enum eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MENU
{
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_TOTAL,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_ARMOR,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_SKIN,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_CUSTOMIZE,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_ITEM,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_PET,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_RIDER,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_PC,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_EXTENSION, // 기간연장
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_BUY_WCOIN,
eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MENU_MAX,
};
private:
enum eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM
{
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM1,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM2,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM3,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM4,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM5,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM6,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM7,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM8,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM9,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM10,
eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX,
};
enum eCASH_ITEM_SHOP_MILEAGE_TXT
{
eCASH_ITEM_SHOP_MILEAGE_STXT_WCOINP,
eCASH_ITEM_SHOP_MILEAGE_STXT_WCOINC,
eCASH_ITEM_SHOP_MILEAGE_STXT_MILEAGE,
eCASH_ITEM_SHOP_MILEAGE_TXT_WCOINP,
eCASH_ITEM_SHOP_MILEAGE_TXT_WCOINC,
eCASH_ITEM_SHOP_MILEAGE_TXT_MAX,
};
enum eCASH_ITEM_SHOP_PACKAGE_IMG
{
eCASH_ITEM_SHOP_MILEAGE_BTN_WCOIN_BACK,
eCASH_ITEM_SHOP_MILEAGE_IMG_WCOINC_BACK,
eCASH_ITEM_SHOP_MILEAGE_IMG_WCOINP_BACK,
eCASH_ITEM_SHOP_IMG_MAX,
};
public:
uiCashItemShopMileageDlg(InterfaceManager *pUIMan);
virtual ~uiCashItemShopMileageDlg();
//--------------------------------------------------------------------------
// init/release
//
public:
virtual void Init(CDrawBase* pDrawBase);
virtual void Release();
protected:
void InitControls();
//--------------------------------------------------------------------------
// helper/comms.
//
public:
uiCashItemShopMan* GetManager();
//--------------------------------------------------------------------------
// functions
//
private:
BOOL _isEnable();
void _setMenu(int iMenu, int iSubMenu = 0, bool force_change = false);
int _getMenu() { return m_iCurMenu; }
void _updateMenu();
void _setPage(int iPage);
void _setIndex(int iIndex);
void _prepareShow();
void _clearItem(int index);
void _clearAllItem();
void _setItem(int index, CODETYPE itemCode);
void _addIconImage(int iIndex, DWORD dwCode, CODETYPE itemCode);
void _removeIconImage(int iIndex);
void _removeAllIconImage();
void _renderTooltip();
void _renderIconImage();
BYTE _getCategoryType(int iMenu, int iSubMenu = 0);
public:
void SetItem(int index, CODETYPE itemCode);
void SetCurPage( void );
void RefreshItemPrice();
void RefreshSingleItemList();
void RefreshItemList();
void SetCurMoney( void );
//--------------------------------------------------------------------------
// dialog functions
//
public:
virtual int GetCurPage() {return m_iCurPage;}
virtual int GetCurMenu() {return m_iCurMenu;}
virtual int GetDlgCheckMenuMax() {return eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MENU_MAX;}
virtual BYTE GetCurCategoryType() {return _getCategoryType(m_iCurMenu);}
protected:
virtual void OnShowWindow( BOOL val );
virtual void OnUpdateSolarDialog();
virtual void OnRenderSolarDialog();
protected:
CControlWZ * getControl( POSTYPE AtPos );
POSTYPE getCtrlIDToPos( WzID wzId );
static WzID m_wzId[eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_MAX];
//--------------------------------------------------------------------------
// procedure
//
public:
virtual void MessageProc( SI_MESSAGE * pMessage ); // Pure
virtual void MouseOver_MsgProc( SI_MESSAGE * pMessage );
void SetSelectedIndex(int iIndex){ _setIndex(iIndex); }
private:
void OnClickCombo(eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG e);
bool OnSelectedCombo(eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG list_control_index,
eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG static_control_index,
int selected_index);
//--------------------------------------------------------------------------
// member vars
//
private:
uiCashItemShopMan* m_pCashItemShopMan;
CCtrlButtonCheckWZ* m_pBtnCheckMenu[eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MENU_MAX];
CCtrlButtonCheckWZ* m_pBtnCheckTabs[eCASH_ITEM_SHOP_MILEAGE_DLG_CHK_MAX];
CCtrlImageStaticWZ* m_pImgCtrl[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX];
CCtrlListWZ* m_pListCtrlName[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX];
CCtrlListWZ* m_pListCtrlMemo[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX];
CCtrlStaticWZ* m_pTxtCtrlCurPage;
CCtrlStaticWZ* m_pTxtCtrlSale[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX][_MAX_PRICE_INFO];
CCtrlStaticWZ* m_pTxtCtrlDesc[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX][_MAX_PRICE_INFO][eItemDescMax];
CCtrlStaticWZ* m_pTxtCtrlMoney; // 테섭에선 하임으로, 나머지는 캐시로..
CCtrlStaticWZ* m_pTxtCtrlMilege; // 마일리지
CCtrlVScrollWZ* m_pScroll;
CCtrlStaticWZ* m_pTxtCtrlPPCoin; // PP캐시
CCtrlStaticWZ* m_pTxtCtrlCCCoin; // 일반캐시
CASH_ITEM_IMG m_CashItemImg[eCASH_ITEM_SHOP_MILEAGE_DLG_ITEM_MAX];
bool m_bShow;
bool m_bControlsInitialized;
stRenderTooltipInfo m_ItemCodeForTooltip;
public:
int m_iCurMenu;
int m_iCurSubMenu;
int m_iCurPage;
int m_iCurIndex;
};
//------------------------------------------------------------------------------
/**
*/
inline
POSTYPE
uiCashItemShopMileageDlg::getCtrlIDToPos( WzID wzId )
{
for( POSTYPE i = 0 ; i < eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_MAX ; ++i )
{
if( m_wzId[i] == wzId )
{
return i;
}
}
return eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_MAX;
}
//------------------------------------------------------------------------------
/**
*/
inline
CControlWZ *
uiCashItemShopMileageDlg::getControl( POSTYPE AtPos )
{
ASSERT( AtPos < eDIALOG_CASH_ITEM_SHOP_MILEAGE_DLG_MAX );
return GetControlWZ( m_wzId[AtPos] );
}
//------------------------------------------------------------------------------
/**
*/
inline
uiCashItemShopMan*
uiCashItemShopMileageDlg::GetManager()
{
return this->m_pCashItemShopMan;
}
//------------------------------------------------------------------------------
#endif
//------------------------------------------------------------------------------
#endif //#ifndef _NA_0_20110613_GAME_SHOP_RENEWAL //#if'N'def
//------------------------------------------------------------------------------