99 lines
2.9 KiB
C++
99 lines
2.9 KiB
C++
#pragma once
|
|
|
|
class SGameAvatarEx;
|
|
|
|
class SGameFieldQuestProp : public SGameAvatarEx
|
|
{
|
|
private:
|
|
class KSeqForm* m_pProp;
|
|
|
|
int m_nQuestDBID;
|
|
int m_nTextID;
|
|
K3DVector m_vRotation;
|
|
K3DVector m_vScale;
|
|
float m_fZOffSet;
|
|
|
|
bool m_bTryHeight;
|
|
|
|
float m_fTargetFxSize;
|
|
float m_fCastRange;
|
|
|
|
enum
|
|
{
|
|
ENTER_PROP = 0,
|
|
STANDBY_PROP,
|
|
LEAVE_PROP,
|
|
};
|
|
|
|
int m_nState;
|
|
DWORD m_dwVisibleTime;
|
|
DWORD m_dwStartTime;
|
|
bool m_bVisibleProcess;
|
|
|
|
K3DBoundRotCube* m_pSelectCube;
|
|
|
|
int m_nActivation_type; ///< 발동 조건
|
|
int m_Activation_value1; ///< 발동 값1
|
|
int m_Activation_value2; ///< 발동 값2
|
|
|
|
bool m_bLockHeight;
|
|
float m_fLockHeight;
|
|
|
|
int m_clanType; /// 2011.02.07 - prodongi
|
|
|
|
public:
|
|
bool PlayAnimation(char const* aniKey, int nAniType = SEQTYPE_NORMAL); /// 2011.01.21 - prodongi
|
|
int GetPropIntervalLength() const; /// 2011.02.07 - prodongi
|
|
|
|
void SetRatation( K3DVector& vRotation ) { m_vRotation = vRotation; }
|
|
void SetZOffSet( float fZOffSet ) { m_fZOffSet = fZOffSet; }
|
|
void SetPropScale( K3DVector& vScale ) { m_vScale = vScale; }
|
|
|
|
void SetTryHeightValue() { m_bTryHeight = true; }
|
|
|
|
void SetLockHeight( bool bLock ) { m_bLockHeight = bLock; }
|
|
void SetLockHeight( float fHeight ) { m_fLockHeight = fHeight; }
|
|
public:
|
|
int GetQuestPropDBID() { return m_nQuestDBID; }
|
|
int GetQuestPropTextID() { return m_nTextID; }
|
|
const char * GetCobFileName();
|
|
float GetTargetFxSize() { return m_fTargetFxSize; }
|
|
float GetCastingRange() { return m_fCastRange; }
|
|
|
|
int GetActivationtype() { return m_nActivation_type; }
|
|
int GetActivationValue1() { return m_Activation_value1; }
|
|
int GetActivationValue2() { return m_Activation_value2; }
|
|
public:
|
|
bool Initialize( class K3DRenderDeviceDX *pDevice );
|
|
bool Process( DWORD time, unsigned long uProcessBitVector=0 );
|
|
bool Render( unsigned long uRenderBitVector, class KViewportObject** ppViewportList, int nViewportCount);
|
|
/// 2012.03.29 셀렉트용 렌더링 - prodongi
|
|
virtual bool renderSelect(unsigned long uRenderBitVector, class KViewportObject** ppViewportList, int nViewportCount);
|
|
/// 셀렉트 박스에서 길찾기 충돌용으로 쓰인 블럭 라인을 구해온다
|
|
void getBlockLine(int* blockLine);
|
|
|
|
void ClipTest( K3DVector * pFrustum );
|
|
bool CheckCollision( const K3DVector &nv, const K3DVector &fv );
|
|
public:
|
|
bool Deactivate();
|
|
public:
|
|
enum ACTIVATE_TYPE
|
|
{
|
|
CHECK_NONE = 0,
|
|
CHECK_ITEM = 1,
|
|
CHECK_QUEST = 2,
|
|
CHECK_SKILL = 3,
|
|
CHECK_WEAPON = 4,
|
|
CHECK_CREATURE = 5,
|
|
CHECK_PROP = 6,
|
|
CHECK_PERSONS = 7,
|
|
};
|
|
|
|
/// 2011.01.26 지금은 default와 active만 쓰고 있다.
|
|
static char const* defaultKeyName; /// 2011.01.25 - prodongi
|
|
static char const* activeKeyName; /// 2011.01.25 - prodongi
|
|
static char const* activeLodKeyName; /// 2011.01.26 - prodongi
|
|
public:
|
|
SGameFieldQuestProp( int nQuestDBID );
|
|
~SGameFieldQuestProp();
|
|
}; |