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

📄 effect.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// Effect.h: interface for the CEffect class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_EFFECT_H__DCE7B833_8E26_49AF_8582_FCE98E17F8D4__INCLUDED_)
#define AFX_EFFECT_H__DCE7B833_8E26_49AF_8582_FCE98E17F8D4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//struct MCOBJVERTEX;
//struct MCFVFINDEX;
#include "MCObjMesh.h"

struct EFFECT_INFO{
	char	szEffectName[64];		// 捞蒲飘 晨... 捞蒲飘 砒风 积己(胶农赋 屈侥)..	
	// 捞蒲砒风 积己窍瘤 臼备 傲 积己沁阑锭..
	DWORD	nMaxFrame;		// 醚 橇方..
	DWORD	nPersec;		// 檬寸 橇方荐..
	char	nRenderType;		// 呼焊靛 屈侥捞衬..酒聪恭 颇萍努捞衬.?		0: 呼焊靛. 1: 颇萍努..
	D3DXVECTOR3 vStart;
	D3DXVECTOR3 vDir;
	char	nObjectType;		//  荤恩捞衬 瘤屈捞衬.. 酒聪恭.. 坷宏璃飘衬..(0 == 荤恩 ,1~9 坷宏璃飘 辆幅(犁龙).. 10~19 瘤屈 辆幅(犁龙))..
	//		单漠侩..

	EFFECT_INFO()
	{
//		m_pVertex = NULL;
//		m_pIndex = NULL;
	}
	~EFFECT_INFO()
	{
//		SAFE_DELETE_ARRAY(m_pVertex);
//		SAFE_DELETE_ARRAY(m_pIndex);
	}
};

class CBaseBillboard;
class CBaseParticle;
class CMCGTimer;

//-----------------------------------------------------------------------------
// Global data for the particles
//-----------------------------------------------------------------------------
struct EFFECTPARTICLE
{
	D3DXVECTOR3	m_vPos;			// 泅犁 困摹..
	D3DXVECTOR3	m_vDir;			// 唱哎 规氢..
	FLOAT		m_fSize;		// 泅犁 农扁....

	FLOAT		m_fTime;		// 泅犁 唱捞..? 酒聪恭.. 磷阑 唱捞..

	D3DXCOLOR	m_clrDiffuse;	// Initial diffuse color		拿矾..
	D3DXCOLOR	m_clrFade;		// Faded diffuse color
	FLOAT		m_fFade;		// Fade progression

	EFFECTPARTICLE * pNext;
};

class CBaseEmitter
{
public:
	CBaseEmitter()
	{
	}
	virtual ~CBaseEmitter()
	{
	}

public:
	virtual HRESULT		Create() = 0;
	virtual HRESULT		Render() = 0;
	virtual HRESULT		Update( float fElapsedTime ) = 0;
	virtual HRESULT		RestoreDeviceObjects() = 0;
	virtual void		InvalidateDeviceObjects() = 0;
};

class CEffect  
{
public:
	CEffect();
	virtual ~CEffect();

public:
//	void			CreateEffect( EFFECT_INFO *pEffectInfo );		// 呼焊靛 屈侥衬..? 酒聪恭 颇瓶努 屈侥捞成..? 割俺唱 措衬..? 绢恫 捞蒲飘衬.?
	void			CreateEffect( EFFECT_INFO *pEffectInfo, const char * szEffect );

	HRESULT			Update( float fElapsedTime );
	//void			Render();

	//CBaseEmitter *	GetUnit();

	WORD			GetEffectIndex() { return m_wEffectIndex; }
	CMCGTimer *		GetTimer() { return m_pTimer; }

//	D3DXVECTOR3 &	Pos() { return m_vPos; }
//	D3DXVECTOR3 &	Dir() { return m_vDir; }
	D3DXVECTOR3 	Pos() { return m_vPos; }
	D3DXVECTOR3 	Dir() { return m_vDir; }

	void			SetSize(float size) { m_fSize = size; }
	float			GetSize(void) { return m_fSize; }
	
	void			SetRotationYaw( float fRadians ) { m_fRotationYaw = fRadians; }
	void			SetRotationPitch( float fRadians ) { m_fRotationPitch = fRadians; }
	void			SetRotationRoll( float fRadians ) { m_fRotationRoll = fRadians; }
	
	float			GetRotationYaw(void) { return m_fRotationYaw; }
	float			GetRotationPitch(void) { return m_fRotationPitch; }
	float			GetRotationRoll(void) { return m_fRotationRoll; }

	D3DXMATRIXA16 &	GetWorldMatrix() { return m_matWorld; }

	void			Start();

private:
	HRESULT			CreateScrap( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateFireNomal( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateItemBreakDown( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateItemBumb( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateCreateItem( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateGetItem( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateFootMark( EFFECT_INFO *pEffectInfo );
	HRESULT			CreateShotNomalMark( EFFECT_INFO *pEffectInfo );

public:
	DWORD			m_dwTriCnt;
	DWORD			m_dwVertCnt;
	MCOBJVERTEX	*	m_pVertex;
	MCFVFINDEX *	m_pIndex;

private:
	CBaseBillboard	*	m_pBillBoard;
	CBaseParticle	*	m_pParticle;

	CBaseEmitter	*	m_pEffectEmitter;
//	EFFECTPARTICLE *	m_pNext;

//	CBillboard	*	m_pBillBoard;
//	CParticle	*	m_pParticle;

	char			m_nRenderType;

	char			m_dwVBPoint;		// 滚琶胶 滚欺 困摹 历厘侩..

	WORD			m_wEffectIndex;

//	D3DXVECTOR3		m_vStart;
//	D3DXVECTOR3		m_vDir;

	float			m_fStartTime;
	float			m_fEndTime;

	CMCGTimer	*	m_pTimer;

	D3DXVECTOR3		m_vPos;
	D3DXVECTOR3		m_vDir;
	float			m_fRotationYaw;
	float			m_fRotationPitch;
	float			m_fRotationRoll;
	float			m_fSize;

	D3DXMATRIXA16	m_matWorld;

	int				m_nMaterial;		// 犁龙..

};

#endif // !defined(AFX_EFFECT_H__DCE7B833_8E26_49AF_8582_FCE98E17F8D4__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -