📄 itemmanager.cpp
字号:
// ItemManager.cpp: implementation of the CItemManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ItemManager.h"
#include "DealDialog.h"
#include "ExchangeDialog.h"
#include "MixDialog.h"
#include "./Interface/cIcon.h"
#include "./Interface/cImage.h"
#include "GameIn.h"
#include "WindowIDEnum.h"
#include "./Interface/cWindowManager.h"
#include "./Interface/cScriptManager.h"
#include "cDivideBox.h"
#include "ObjectManager.h"
#include "DebugDlg.h"
#include "AppearanceManager.h"
#include "GameDef.h"
#include "QuickManager.h"
#include "QuickItem.h"
#include "ExchangeItem.h"
#include "SkillManager_Client.h"
#include "ChatManager.h"
#include "./Audio/MHAudioManager.h"
#include "mhFile.h"
#include "MunpaDialog.h"
#include "GuildWarehouseDialog.h"
#include "InventoryExDialog.h"
#include "PyogukDialog.h"
#include "QuickDialog.h"
#include "ChatDialog.h"
#include "GameEventManager.h"
#include "UpgradeDlg.h"
#include "ReinforceDlg.h"
#include "MHMap.h"
#include "DissolutionDialog.h"
#include "MugongManager.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLOBALTON(CItemManager)
CItemManager::CItemManager()
{
m_ItemHash.Initialize(64);
m_ItemInfoList.Initialize(MAX_ITEM_NUM);
m_ItemToolTipTextList.Initialize(64); //confirm
m_ItemOptionList.Initialize(MAX_ITEM_OPTION_NUM);
m_IconIndexCreator.Init(MAX_ITEMICON_NUM, IG_ITEM_STARTINDEX);
m_bAddPrice = FALSE;
}
CItemManager::~CItemManager()
{
//m_GroundHash.R
Release();
m_IconIndexCreator.Release();
ITEM_INFO * pInfo = NULL;
m_ItemInfoList.SetPositionHead();
while(pInfo = m_ItemInfoList.GetData())
delete pInfo;
m_ItemInfoList.RemoveAll();
TOOLTIP_TEXT* pToolTipText = NULL;
TOOLTIP_TEXT* pTemp = NULL;
m_ItemToolTipTextList.SetPositionHead();
while( pToolTipText = m_ItemToolTipTextList.GetData() )
{
do
{
pTemp = pToolTipText->pNext;
if( pToolTipText->strToolTip )
delete[] pToolTipText->strToolTip;
delete pToolTipText;
pToolTipText = pTemp;
} while( pToolTipText );
}
m_ItemToolTipTextList.RemoveAll();
}
cImage * CItemManager::GetIconImage(WORD ItemIdx, cImage * pImageGet)
{
//char buff[128];
//wsprintf(buff, "image/item/%d.tif",GetItemInfo(ItemIdx)->Image2DNum);
//cImage* pImage = WINDOWMGR->GetImageOfFile(buff, 40);
//return pImage;
SCRIPTMGR->GetImage( GetItemInfo(ItemIdx)->Image2DNum, pImageGet, PFT_ITEMPATH );
return pImageGet;
}
CItem* CItemManager::MakeNewItem(ITEMBASE* pBaseInfo, char* strKind)
{
ITEM_INFO* pItemInfo = GetItemInfo(pBaseInfo->wIconIdx);
if(pItemInfo == NULL)
{
char temp[256];
sprintf(temp,"NoItemInfo %d, %d, %s",HEROID,pBaseInfo->wIconIdx,strKind);
ASSERTMSG(pItemInfo, temp);
return NULL;
}
if(pBaseInfo->dwDBIdx == 0)
return NULL;
CItem* pItem;
if(!(pItem = GetItem(pBaseInfo->dwDBIdx)))
{
pItem = new CItem(pBaseInfo);
m_ItemHash.Add(pItem,pItem->GetDBIdx()); // HASH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -