⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 item.cpp

📁 墨香最新私服
💻 CPP
字号:
// Item.cpp: implementation of the CItem class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Item.h"
#include "ItemManager.h"
#include "ObjectManager.h"
#include "QuickItem.h"
#include "GameIn.h"
#include "./Interface/cFont.h"

#include "QuickDialog.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CItem::CItem(ITEMBASE* pInfo)
{
	m_type = WT_ITEM;
	m_bAdded = FALSE;
	memcpy(&m_ItemBaseInfo,pInfo,sizeof(ITEMBASE));

	m_pLinkItem	= NULL;
	m_LinkPos	= 0;
}

CItem::~CItem()
{
}
eITEM_KINDBIT CItem::GetItemKind()
{
	ITEM_INFO * pInfo = ITEMMGR->GetItemInfo(m_ItemBaseInfo.wIconIdx);
	ASSERT(pInfo);	//KES 040512
	if(pInfo)
		return (eITEM_KINDBIT)pInfo->ItemKind;

	return (eITEM_KINDBIT)0;
}


const ITEM_INFO* CItem::GetItemInfo()
{
	ITEM_INFO * pInfo = ITEMMGR->GetItemInfo(m_ItemBaseInfo.wIconIdx);
	ASSERT(pInfo);
	if(pInfo)
	ASSERT(pInfo->ItemIdx == m_ItemBaseInfo.wIconIdx);
	return pInfo;
}

void CItem::SetItemBaseInfo( ITEMBASE * itemInfo )
{
	memcpy( &m_ItemBaseInfo, itemInfo, sizeof( ITEMBASE ) );
}

void CItem::Render()
{
	if( !m_bActive ) return;

	cIcon::Render();

	if( ITEMMGR->IsDupItem(m_ItemBaseInfo.wIconIdx) )// && m_ItemBaseInfo.Durability >= 1 )
	{
		static char nums[3];
		wsprintf(nums,"%2d", m_ItemBaseInfo.Durability);
		RECT rect={(LONG)m_absPos.x+27, (LONG)m_absPos.y+29, 1,1};
		CFONT_OBJ->RenderFont(0,nums,strlen(nums),&rect,RGBA_MERGE(m_dwImageRGB, m_alpha * m_dwOptionAlpha / 100 ));		// color hard coding : taiyo 
	}
}

void CItem::SetLock( BOOL bLock )
{
	cIcon::SetLock( bLock );
	
	SetMovable( !bLock );
	//酒捞袍 荤侩档 陛瘤
}

BOOL CItem::CanMoveToDialog( cDialog* ptargetdlg )
{
	if( GetItemKind() == eQUEST_ITEM_EQUIP )
	{
		int type = ptargetdlg->GetType();
		switch( type )
		{
		case WT_STREETSTALLDIALOG:
		case WT_DEALDIALOG:
		case WT_MUGONGSURYUNDIALOG:
		case WT_MUNPAWAREHOUSEDLG:
		case WT_QUESTTOTALDIALOG:
			return FALSE;			
		}
	}	
	return TRUE;
}

BOOL CItem::CanDelete()
{
	if( GetItemKind() == eQUEST_ITEM_EQUIP )
		return FALSE;
	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -