68 lines
1.6 KiB
C++
68 lines
1.6 KiB
C++
|
|
|
|
#pragma once
|
|
|
|
#include <toolkit/khash.h>
|
|
#include "SGameAvatarEx.h"
|
|
|
|
#include "KSeqForm.h"
|
|
|
|
class KSeqModel;
|
|
|
|
class SGameItem : public SGameAvatarEx
|
|
{
|
|
public:
|
|
SGameItem( ENC_INT nID );
|
|
virtual ~SGameItem();
|
|
|
|
void SetTryHeightValue() { m_bTryHeight = true; }
|
|
|
|
virtual bool Initialize( class K3DRenderDeviceDX *pDevice );
|
|
virtual void Destroy();
|
|
|
|
virtual bool Activate();
|
|
virtual bool Deactivate();
|
|
|
|
virtual void DropSound();
|
|
|
|
virtual bool IsLoadComplete() { return m_bIsInit; }
|
|
|
|
void SetPickUpOrder( struct SMSG_ENTER* pMsg );
|
|
bool IsPickable( AR_HANDLE hPlayer, int nPartyID ); // #2.1.2.4.2
|
|
|
|
virtual void ClipTest( struct K3DVector * pFrustum );
|
|
|
|
virtual const K3DVertex * GetCube();
|
|
virtual bool CheckCollision( const K3DVector &nv, const K3DVector &fv );
|
|
void PlayAnimation( DWORD time, int nAniType = SGameAvatarEx::SEQTYPE_NORMAL, float fPlayRate = 4.8f );
|
|
|
|
virtual bool Render( unsigned long uRenderBitVector, KViewportObject** ppViewportList, int nViewportCount );
|
|
virtual bool Process( DWORD time, unsigned long uProcessBitVector=0 );
|
|
|
|
|
|
|
|
protected:
|
|
KSeqModel * m_pItemModel;
|
|
KSeqModel * m_pItemEffect;
|
|
|
|
bool m_bTryHeight;
|
|
|
|
K3DMatrix m_RotMat;
|
|
|
|
AR_TIME m_arDropTime; ///< 먹자 방지 데이타
|
|
AR_HANDLE m_hPlayer[ 3 ];
|
|
int m_nPartyID[ 3 ];
|
|
|
|
enum
|
|
{
|
|
_01_STEP = 0, ///< 1번째에 순서 있음
|
|
_02_STEP, ///< 2번째에 순서 있음
|
|
_03_STEP, ///< 3번째에 순서 있음
|
|
_NONE_STEP, ///< 먹자 순서 없음
|
|
};
|
|
|
|
int m_nOrderStep; ///< 먹자 방지 처리 순서
|
|
|
|
/// Property Set
|
|
virtual const char* getClassName() { return "SGameItem"; }
|
|
}; |