125 lines
3.9 KiB
C++
125 lines
3.9 KiB
C++
#ifndef _UI_ITEM_COMPOSITE_MAN_H_
|
|
#define _UI_ITEM_COMPOSITE_MAN_H_
|
|
|
|
|
|
#include "uiItemCompositeMan_def.h"
|
|
#include "uiBaseMan.h"
|
|
#include "SCItemSlot.h"
|
|
#include "solarDialog.h"
|
|
|
|
#include "ItemComposeListParser.h"
|
|
|
|
#include "uiSystemMan/uiSystemMessage.h"
|
|
|
|
class uiItemTotalcomposite;
|
|
class uiItemCube;
|
|
#ifdef _NA_007435_20140718_MODIFY_ITEMCOMPOSE_MATERIAL_CONDITION
|
|
class ItemType;
|
|
#endif //_NA_007435_20140718_MODIFY_ITEMCOMPOSE_MATERIAL_CONDITION
|
|
enum eItemCompositeCatagory
|
|
{
|
|
ITEM_COMPOSITE_CATEGORY_NONE = 0,
|
|
ITEM_COMPOSITE_CATEGORY_COMPOSITE, // »ç¿ë¾ÈÇÔ!!!!!!!!!!!!!
|
|
ITEM_COMPOSITE_CATEGORY_TOTAL_COMPOSITE, //Á¶ÇÕ(»ý¼º)
|
|
#ifdef _NA_008121_20150311_EQUIPMENT_AWAKENING_SYSTEM
|
|
ITEM_COMPOSITE_CATEGORY_CRYSTALIZE,
|
|
#endif // _NA_008121_20150311_EQUIPMENT_AWAKENING_SYSTEM
|
|
};
|
|
|
|
|
|
class uiItemCompositeMan : public uiBaseMan
|
|
{
|
|
public:
|
|
enum { INVALID_MAIN_MAT_POS = -1, };
|
|
|
|
uiItemCompositeMan(InterfaceManager *pUIMan);
|
|
|
|
//--------------------------------------------------------------------------
|
|
// init/release
|
|
//
|
|
public:
|
|
virtual void OnInitialize();
|
|
virtual void InitPKBooleans();
|
|
|
|
private:
|
|
BOOL _LoadUI();
|
|
|
|
//--------------------------------------------------------------------------
|
|
// functions
|
|
//
|
|
public:
|
|
SolarDialog * ShowItemComposite(
|
|
eItemCompositeCatagory eCompositeCategoryType,
|
|
eITEMCOMPOSITECODE ItemCompositeCode );
|
|
|
|
eItemCompositeCatagory GetCompositeCategory() { return this->m_eCurItemCompositeCatagory; }
|
|
eITEMCOMPOSITECODE GetCompositeCode() { return this->m_eCurItemCompositeCode; }
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------
|
|
// composite funcs
|
|
//
|
|
public:
|
|
//BOOL IsReadyForCompositeMaterials();
|
|
BOOL fillTotalCompositeInfo(int itemCode);
|
|
BOOL IsReadyForTotalCompositeMaterials();
|
|
BOOL NET_SEND_CG_TOTAL_ITEM_COMPOSITE_SYN();
|
|
int GetAvalibleCompositeNum(CODETYPE ItemCode, int iItemNum,int iFirst);
|
|
BOOL isValidTotalCompositeFlag();
|
|
BOOL spendTotalComposeMaterials();
|
|
int GetMaxCompositeNum() {return m_maxCompositeNum;}
|
|
int GetManualCompositeNum() {return m_ManualCompositeNum;}
|
|
void SetManualCompositeNum(int val) { m_ManualCompositeNum = val;}
|
|
void UpdateInfo(BOOL bInitCompositeNum = TRUE);
|
|
int GetCompositeResultType() { return m_iCompositeResultType;}
|
|
void ClearInfo();
|
|
|
|
#ifdef _NA_007435_20140718_MODIFY_ITEMCOMPOSE_MATERIAL_CONDITION
|
|
BOOL IsExistItemForComposite(
|
|
SLOTCODE material_code,
|
|
DURATYPE material_number,
|
|
ItemType* item_type_ptr = NULL,
|
|
DWORD item_type_index = 0);
|
|
#endif //_NA_007435_20140718_MODIFY_ITEMCOMPOSE_MATERIAL_CONDITION
|
|
|
|
protected:
|
|
//BOOL isValidCompositeFlag();
|
|
//BOOL fillCompositeInfo();
|
|
//BOOL spendComposeMaterials();
|
|
|
|
//--------------------------------------------------------------------------
|
|
// crystalize funcs
|
|
//
|
|
public:
|
|
static void _Callback_Crystalization_Confirm(uiSystemMessage::ButtonIndex button_index);
|
|
BOOL NET_SEND_CG_ITEM_CRYSTALIZE_SYN(const POSTYPE& target_Pos, const SLOTCODE& slot_code);
|
|
|
|
//--------------------------------------------------------------------------
|
|
// procedure
|
|
//
|
|
public:
|
|
virtual void NetworkProc( MSG_BASE * pMsg );
|
|
|
|
//--------------------------------------------------------------------------
|
|
// member vars
|
|
//
|
|
private:
|
|
eItemCompositeCatagory m_eCurItemCompositeCatagory;
|
|
eITEMCOMPOSITECODE m_eCurItemCompositeCode;
|
|
eITEMCOMPOSITECODE m_ePendingItemCompositeCode;
|
|
|
|
uiItemTotalcomposite * m_pUIItemTotalComposite;
|
|
MSG_CG_ITEM_COMPOSE_SYN m_MsgTotalComposeSyn;
|
|
int m_iCompositeResultType;
|
|
int m_maxCompositeNum;
|
|
int m_ManualCompositeNum;
|
|
int m_PendingManualCompositeNum;
|
|
|
|
// uiItemComposite * m_pUIItemComposite;
|
|
MSG_CG_ITEM_COMPOSE_SYN m_MsgComposeSyn;
|
|
|
|
uiItemCube* ui_item_cube_;
|
|
};
|
|
|
|
#endif //_UI_ITEM_COMPOSITE_MAN_H_
|