47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
|
|
#pragma once
|
|
#include "SGameAvatarEx.h"
|
|
#include "KSeqModel.h"
|
|
|
|
|
|
class SGameAvatarAddOnMgr
|
|
{
|
|
public:
|
|
enum ADD_ON_TYPE
|
|
{
|
|
SGAME_FORCE_SPHERE_FX = 0,
|
|
SGAME_CIRCLE_SHADOW_FX,
|
|
SGAME_AVATAR_FX,
|
|
SGAME_AVATAR_MOTION_FX,
|
|
SGAME_ADDON_MAX,
|
|
};
|
|
private:
|
|
std::vector< SGameAvatarAddOnMgr* > m_vAddOnMgr;
|
|
SGameAvatarAddOnMgr* m_pAddOnList[SGAME_ADDON_MAX];
|
|
protected:
|
|
SGameAvatarEx* m_pGameObj;
|
|
KSeqModel* m_pSeqModel;
|
|
int m_nAddOnType;
|
|
AR_HANDLE m_hCreaturehandle;
|
|
bool m_bRenderFlag;
|
|
public:
|
|
void AddAddOn( SGameAvatarAddOnMgr* pAddOn );
|
|
void RemoveAddOn( ADD_ON_TYPE nAddOnType );
|
|
|
|
virtual void Initialize() {}
|
|
public:
|
|
int GetAddOnType() { return m_nAddOnType; }
|
|
SGameAvatarAddOnMgr* GetAddOn( ADD_ON_TYPE nAddOnType );
|
|
bool IsActivateAddOn( ADD_ON_TYPE nAddOnType );
|
|
public:
|
|
void SetGameObject( SGameAvatarEx* pGameObj );
|
|
void SetCreatureHandle( ADD_ON_TYPE nAddOnType, AR_HANDLE handle );
|
|
void SetAddOnRenderFlag( ADD_ON_TYPE nAddOnType, bool bRenderFlag );
|
|
virtual void SetRenderFlag( bool bRenderFlag ) { assert( 0 ); }
|
|
public:
|
|
virtual void Process( DWORD dwTime );
|
|
virtual void Render( class KViewportObject** ppViewportList, int nViewportCount );
|
|
public:
|
|
SGameAvatarAddOnMgr();
|
|
virtual ~SGameAvatarAddOnMgr();
|
|
}; |