📄 itemmanager.h
字号:
// ItemManager.h: interface for the CItemManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ITEMMANAGER_H__60209143_2AB6_46C5_A79E_4307FAFE0986__INCLUDED_)
#define AFX_ITEMMANAGER_H__60209143_2AB6_46C5_A79E_4307FAFE0986__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Item.h"
#include "ItemShow.h"
#include "ItemGround.h"
#include "ItemCalc.h"
#include "IndexGenerator.h"
#include "MugongBase.h"
class CDealDialog;
class CExchangeDialog;
class CMixDialog;
class CRecvExchangeDialog;
class ITEM_OPTION_INFO;
class cIcon;
class cImage;
#define ITEMMGR USINGTON(CItemManager)
//---for item tooltip
struct TOOLTIP_TEXT
{
TOOLTIP_TEXT() { strToolTip = NULL; pNext = NULL; }
char* strToolTip;
TOOLTIP_TEXT* pNext;
};
class CItemManager
{
CItemCalc m_ItemCalc;
CYHHashTable<CItem> m_ItemHash;
CYHHashTable<ITEM_INFO> m_ItemInfoList;
CYHHashTable<TOOLTIP_TEXT> m_ItemToolTipTextList;
CYHHashTable<ITEM_OPTION_INFO> m_ItemOptionList;
CIndexGenerator m_IconIndexCreator;
BOOL m_bAddPrice;
public:
// //MAKESINGLETON(CItemManager)
CItemManager();
virtual ~CItemManager();
void InitItemOption(ITEM_OPTION_INFO * pInfo, WORD num);
void AddItemOption(ITEM_OPTION_INFO * pInfo);
ITEM_OPTION_INFO * GetItemOption(DWORD dwOptionIdx);
void RemoveItemOption(DWORD dwOptionIdx, ITEM_OPTION_INFO * pItemOptionInfoOut = NULL );
void Release();
CItem* MakeNewItem(ITEMBASE* pBaseInfo, char* strKind);
void ItemDelete(CItem* pItem);
cImage* GetIconImage(WORD ItemIdx, cImage * pImageGet);
CItem* GetItem(DWORD dwDBIdx);
void SetToolTipIcon(cIcon * pIcon, ITEM_OPTION_INFO * pOptionInfo=NULL);
void NetworkMsgParse(BYTE Protocol,void* pMsg);
void MoveItem( MSG_ITEM_MOVE_ACK * pMsg );
void DivideItem(ITEMOBTAINARRAY * pMsg );
/*
void MoveItemToMunpa( MSG_ITEM_MUNPA_MOVE_SYN* pMsg );
void MoveItemToPyoguk(MSG_ITEM_MUNPA_MOVE_SYN* pMsg);
*/
void MoveItemToMunpa( MSG_ITEM_MOVE_ACK* pMsg );
void MoveItemToGuild( MSG_ITEM_MOVE_ACK* pMsg );
void MoveItemToPyoguk( MSG_ITEM_MOVE_ACK* pMsg );
void CombineItem( MSG_ITEM_COMBINE_ACK * pMsg );
// void DivideItem( MSG_ITEM_DIVIDE_ACK * pMsg );
void DeleteItem( POSTYPE absPos, CItem** ppItemOut, ITEM_OPTION_INFO * pItemOptionInfoOut=NULL );
BOOL AddItem(CItem* pItem);
// void GetYoungyakItemToolTip(char * tooltip, int lens, ITEM_INFO * pInfo);
// void GetMugongItemToolTip(char * tooltip, int lens, ITEM_INFO * pInfo);
// void GetEquipItemToolTip(char * tooltip, int lens, ITEM_INFO * pInfo);
// void GetExtraItemToolTip(char * tooltip, int lens, ITEM_INFO * pInfo);
void SetYoungyakItemToolTip( cIcon * pIcon, ITEM_INFO * pInfo);
void SetMugongItemToolTip( cIcon * pIcon, ITEM_INFO * pInfo);
void SetEquipItemToolTip( cIcon * pIcon, ITEM_INFO * pInfo, ITEM_OPTION_INFO * pOptionInfo=NULL);
void SetExtraItemToolTip( cIcon * pIcon, ITEM_INFO * pInfo);
BYTE GetTableIdxForAbsPos(POSTYPE absPos);
CItem* GetItemofTable(WORD TableIDX, POSTYPE absPos);
// yunho StatsCalcManager 傍蜡甫 困秦
const ITEMBASE* GetItemInfoAbsIn(CHero* pHero,POSTYPE absPos);
void DeleteItemofTable(WORD TableIdx, POSTYPE absPos, ITEM_OPTION_INFO * pItemOptionInfoOut=NULL );
BOOL IsEqualTableIdxForPos(WORD TableIdx, POSTYPE absPos );
void RefreshAllItem();
void RefreshItem( CItem* pItem );
BOOL CanEquip(WORD wItemIdx);
BOOL CanConvertToMugong(WORD wItemIdx,MUGONG_TYPE MugongType=MUGONGTYPE_MAX);
void LoadItemList();
void LoadItemToolTipList();
ITEM_INFO * GetItemInfo(WORD wItemIdx);
void SetPreItemData(sPRELOAD_INFO* pPreLoadInfo, int* Level, int Count);
DWORD m_dwStateParam;
//BOOL CanGradeUp(CItem * pItem);
BOOL IsDupItem( WORD wItemIdx );
BOOL IsOptionItem( WORD wItemIdx, WORD wDurability );
void SetPriceToItem( BOOL bAddPrice );
void SetDisableDialog(BOOL val, BYTE TableIdx);
///
TOOLTIP_TEXT* GetItemToolTipInfo( WORD wIdx );
void AddItemDescriptionToolTip( cIcon* pIcon, WORD wIndex );
ITEM_INFO* FindItemInfoForName( char* strName );
// BOOL CheckQPosForItemIdx( WORD wItemIdx );
void ReLinkQuickPosition(CItem* pItem);
void ItemDropEffect( WORD wItemIdx );
void MoneyDropEffect();
//for GM...泅犁绰..
#ifdef _GMTOOL_
void SetItemIfoPositionHead() { m_ItemInfoList.SetPositionHead(); }
ITEM_INFO* GetItemInfoData() { return m_ItemInfoList.GetData(); }
#endif
};
EXTERNGLOBALTON(CItemManager)
#endif // !defined(AFX_ITEMMANAGER_H__60209143_2AB6_46C5_A79E_4307FAFE0986__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -