📄 item.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 + -