#pragma once #include "K3DTypes.h" #include "SGameAvatarAddOnMgr.h" class SGameAvatarFx : public SGameAvatarAddOnMgr { private: struct ModelEffectResourceGame* m_pModelEffectRes; const K3DMatrix* m_pParentMatrix; const K3DMatrix* m_pEvpMatrix; const K3DMatrix* m_pEvpAttachMatrix; public: void Initialize(); void SetModelEffectRes( struct ModelEffectResourceGame* pModelEffectRes ); public: void Process( DWORD dwTime ); virtual void Render( class KViewportObject** ppViewportList, int nViewportCount ); public: SGameAvatarFx(); virtual ~SGameAvatarFx(); }; class SGameAvatarMotionFx : public SGameAvatarAddOnMgr { private: std::string m_strFxFileName; DWORD m_dwTime; int m_nFxPos; int m_nAnimationID; int m_nTmpAnimationID; const K3DMatrix* m_pParentMatrix; const K3DMatrix* m_pEvpMatrix; const K3DMatrix* m_pEvpAttachMatrix; public: void Initialize(); void SetMotioinFxInfo( DWORD dwTime, const char* szFileName, int nFxPos, int nAniID ); void ChangeNewMotionFx(); void SetRenderFlag( bool bRenderFlag ); public: void Process( DWORD dwTime ); virtual void Render( class KViewportObject** ppViewportList, int nViewportCount ); public: SGameAvatarMotionFx(); virtual ~SGameAvatarMotionFx(); };