58 lines
1.6 KiB
C++
58 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include "SGamePlayer.h"
|
|
|
|
class KSeqAvatar;
|
|
|
|
class SGameNpc : public SGamePlayer
|
|
{
|
|
public:
|
|
SGameNpc( ENC_INT nNpcID );
|
|
virtual ~SGameNpc();
|
|
|
|
/// 사용자 입력 응답(Server)
|
|
virtual void OnNetInput( struct SGameMessage * pMsg );
|
|
|
|
virtual bool Process( DWORD time, unsigned long uProcessBitVector=0 );
|
|
virtual bool Render( unsigned long uRenderBitVector, class KViewportObject** ppViewportList, int nViewportCount);
|
|
|
|
virtual void SetStatus( unsigned status );
|
|
|
|
static void SetForceRender( bool bRender ) { s_bForceRender = bRender; }
|
|
static bool GetForceRender() { return s_bForceRender; }
|
|
|
|
virtual void SetViewVectorAngle( float fAngle );
|
|
virtual void SetViewVector( const K3DVector &tpos );
|
|
|
|
virtual void SetNpcTargetHandle( AR_HANDLE hTarget );
|
|
|
|
void CheckTargetHandle();
|
|
protected:
|
|
void Init();
|
|
void CheckAniState( class KSeqModel * pModel, const char * pCheckAniName, const char * pPlayAniName );
|
|
void CheckStatus( unsigned status );
|
|
void initMark(); /// 2011.06.14 - prodongi
|
|
void procMark(DWORD time);
|
|
void renderMark(KViewportObject* viewportList);
|
|
|
|
/// Property Set
|
|
virtual const char* getClassName() { return "SGameNpc"; }
|
|
|
|
bool m_bQuestFlag[3];
|
|
|
|
K3DMatrix m_LocalMat;
|
|
|
|
int m_nNPCID;
|
|
class KSeqModel * m_pQuestStart;
|
|
class KSeqModel * m_pQuestIng;
|
|
class KSeqModel * m_pQuestFinish;
|
|
class KSeqModel* m_seqMark; /// 2011.06.14 탈것대여, 라크환전, 텔레포터 마크 - prodongi
|
|
|
|
static bool s_bForceRender;
|
|
|
|
K3DVector m_vFixedView; ///< NPC고정 방향
|
|
K3DVector m_vOldTargetPos;
|
|
|
|
AR_HANDLE m_hTargetHandle;
|
|
};
|