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

📄 item.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
// Item.h: interface for the Item class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ITEM_H__65ED0FFC_8AE9_4595_8223_07D6A5E1B55F__INCLUDED_)
#define AFX_ITEM_H__65ED0FFC_8AE9_4595_8223_07D6A5E1B55F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <SCItem.h>
#include <Const.h>
#include "NonCharacter.h"

#include <SCItemSlot.h>

class Item : public NonCharacter, public SCItem
{
	friend class ObjectFactory;
public:
	Item();
	virtual ~Item();

	VOID					GetItemRenderInfo( ITEM_RENDER_INFO & OUT RenderInfo );

	virtual VOID			Update( DWORD dwDeltaTick );

	// 傍烹
	inline VOID				SetOwnerPlayerKey( DWORD key )	{ m_dwOnwerPlayerKey = key; }
	inline VOID				SetFromMonsterKey( DWORD key )	{ m_dwFromMonsterKey = key; }
	inline DWORD			GetOwnerPlayerKey()	{ return m_dwOnwerPlayerKey; }
	inline DWORD			GetFromMonsterKey()	{ return m_dwFromMonsterKey; }

	// 酒捞袍 鸥涝 侩
	VOID					CreateItem( DWORD OwnerKey, DWORD MonsterKey, SCItemSlot & IN slot )
	{
//		SetLocked(FALSE);
		SetOwnerPlayerKey( OwnerKey );
		SetFromMonsterKey( MonsterKey );
		m_ItemSlot.Copy( slot );
	}
	VOID					SetDropDelayTime( Field * pField, WzVector * pvPos, DWORD DelayTime )
	{
		m_pDropField = pField;
		m_wvDropPos = *pvPos;
		m_DropDelayTimer.SetTimer( DelayTime );
	}
	BOOL					IsDropDelayTimeout() { return m_DropDelayTimer.IsExpired(); }
	Field *					GetDropField() { return m_pDropField;	}
	WzVector *				GetDropPos() { return &m_wvDropPos;	}

	SCItemSlot &			GetItemSlot() { return m_ItemSlot;	}
	VOID					GetItem( ITEMSTREAMEX & OUT ItemStreamOut )
	{
		m_ItemSlot.CopyOut( ItemStreamOut );
	}

	// 捣 鸥涝 侩
	VOID					CreateMoney( DWORD OwnerKey, DWORD MonsterKey, MONEY & money )
	{
//		SetLocked(FALSE);
		SetOwnerPlayerKey( OwnerKey );
		SetFromMonsterKey( MonsterKey );
		SetMoney( money );
	}
	inline VOID				SetMoney( MONEY & money )		{ m_Money = money;	}
	inline MONEY			GetMoney()						{ return m_Money;	}

	VOID					DestroyFromField();

	virtual VOID			OnEnterField(Field* pField, WzVector* pwzVec);
	virtual VOID			OnLeaveField();

public :
	virtual VOID			Reuse()		{ Release(); }
protected:
	virtual BOOL			Init();
	virtual VOID			Release();
private:
	enum { _MAX_FREE_OWNERSHIP_TIME_DELAY = 1000*20, };
	enum { _MAX_DESTROY_TIME_DELAY = 1000*50, };
	util::Timer				m_DestroyTimer;
//	BOOL					m_bLocked;
	SCItemSlot				m_ItemSlot;
	MONEY					m_Money;	
	DWORD					m_dwOnwerPlayerKey;
	DWORD					m_dwFromMonsterKey;
	Field *					m_pDropField;
	WzVector				m_wvDropPos;
	util::Timer				m_DropDelayTimer;
};

#endif // !defined(AFX_ITEM_H__65ED0FFC_8AE9_4595_8223_07D6A5E1B55F__INCLUDED_)

⌨️ 快捷键说明

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