⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 effectmanager.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 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 + -