DragonNest/Common/EternityEngine/EtEffectObject.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

60 lines
1.6 KiB
C++

#pragma once
#include "EtEffectData.h"
class CEtEffectElement;
class CEtEffectObject;
typedef CSmartPtr< CEtEffectObject > EtEffectObjectHandle;
class CEtEffectObject : public CSmartPtrBase< CEtEffectObject >
{
public:
CEtEffectObject(void);
virtual ~CEtEffectObject(void);
protected:
bool m_bDelete;
EtMatrix m_WorldMat;
float m_fScale;
EtEffectDataHandle m_hEffectData;
std::vector< CEtEffectElement * > m_vecEffectElement;
int m_nPrevTick;
int m_nEffectTick;
float m_fFloatTick;
RenderType m_RenderType;
bool m_bLoop;
EtMatrix m_LinkWorldMat;
int m_LinkBoneIndex;
int m_nLinkType;
EtVector3 m_LinkPos;
EtVector3 m_LinkRotate;
EtAniObjectHandle m_hLinkParent;
bool m_bLink;
bool m_bShow;
public:
void Initialize( EtEffectDataHandle hEffectData, EtMatrix *pInitMat );
void SetLoop( bool bLoop ) {m_bLoop = bLoop;}
void ProcessLink( EtMatrix &WorldMat );
void Render( float fElapsedTime );
void RenderImmediate( float fElapsedTime );
bool CalcTick( float fElapsedTime );
void SetWorldMat( EtMatrix *mat );
void SetScale( float fScale );
void SetAlpha( float fAlpha );
const char *GetEffectFileName();
void Show( bool bShow ) { m_bShow = bShow;}
bool IsShow() { return m_bShow;}
void EnableCull( bool bEnable );
RenderType SetRenderType( RenderType Type );
RenderType GetRenderType() { return m_RenderType; }
void SetLink( EtMatrix WorldMat, char *szBoneName, EtVector3 vPos, EtVector3 vRotate, EtAniObjectHandle hParent );
void UnLink() { m_bLink = false;}
static void RenderEffectObjectList( float fElapsedTime );
static void ProcessDeleteEffectObjectList( float fElapsedTime );
};