Files
Leviathan/Client/Game/game/Player/SGameNpc.h
T
2026-06-01 12:46:52 +02:00

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;
};