📄 effectmanager.h
字号:
// EffectManager.h: interface for the CEffectManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_EFFECTMANAGER_H__ABD90D09_1B52_46D6_BA61_50D4E1603CDA__INCLUDED_)
#define AFX_EFFECTMANAGER_H__ABD90D09_1B52_46D6_BA61_50D4E1603CDA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//typedef struct
//{
// D3DXVECTOR3 p; // Vertex position
// DWORD color; // Vertex color
// FLOAT tu, tv; // Vertex texture coordinates
//} VERTEX_BILLBOARD;
//
//#define D3DFVF_BILLBOARD (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1)
//
//typedef struct
//{
// D3DXVECTOR3 position;
// float pointsize;
// D3DCOLOR color;
//} VERTEX_PARTICLE;
//
//#define D3DFVF_PARTICLE (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_PSIZE)
class CEffect;
class CEffectModel;
class CBaseEffect;
struct EFFECTLIST
{
//const CEffect * pEffect;
CEffect * pEffect;
CBaseEffect * pBaseEffect;
EFFECTLIST * pNext;
};
enum EFFECT_TYPE
{
EFFECT_BILLBOARD,
EFFECT_PARTICLE,
EFFECT_OBJECT
};
typedef std::map<WORD , CBaseEffect *> mapEffect;
enum EFFECT_INDEX { NONE_EFFECT, FIRE_EFFECT_1, SCRAP_EFFECT_1, DECAL_EFFECT_1 }; // 快急 唱啊绰芭尔 醚 脾扁绰芭尔 滴俺父..
class CEffectManager
{
public:
CEffectManager();
virtual ~CEffectManager();
public:
HRESULT CreateEffect(); // 扁夯利牢 捞蒲飘 根顶 持扁..
HRESULT AddEffectSys( CEffect * pEffect );
CBaseEffect * GetEffect( int nIndex );
HRESULT InvalidateDeviceObjects();
HRESULT RestoreDeviceObjects();
void UpdateEffect( float fElapsedTime );
void RenderEffect();
void SetEffect( int nIndex, const char * szEffectName = NULL ){};
void StartEffect( int nIndex, float fTime = -0.1f ){};
public:
CEffectModel * AddEffectModel( const char * szFileName );
protected:
private:
void AddList( EFFECTLIST * pCurrent );
EFFECTLIST * DeleteList( EFFECTLIST * pDelList, EFFECTLIST * pParent );
void DeleteAllList();
public:
protected:
private:
EFFECTLIST * m_ListFirst;
EFFECTLIST * m_ListLast;
EFFECTLIST * m_ListCurrent;
D3DMATERIAL9 * m_pMaterials;
mapEffect m_mapEffect;
};
#endif // !defined(AFX_EFFECTMANAGER_H__ABD90D09_1B52_46D6_BA61_50D4E1603CDA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -