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

📄 particlesystemfx.h

📁 Blood 2全套源码
💻 H
字号:
// ----------------------------------------------------------------------- //
//
// MODULE  : ParticleSystemFX.h
//
// PURPOSE : ParticleSystem special fx class - Definition
//
// CREATED : 10/21/97
//
// ----------------------------------------------------------------------- //

#ifndef __PARTICLE_SYSTEM_FX_H__
#define __PARTICLE_SYSTEM_FX_H__

#include "BaseParticleSystemFX.h"


struct PSCREATESTRUCT : public SFXCREATESTRUCT
{
	PSCREATESTRUCT::PSCREATESTRUCT();

	DVector		vColor1;
	DVector		vColor2;
	DDWORD		dwFlags;
	DFLOAT		fBurstWait;
	DFLOAT		fParticlesPerSecond;
	DFLOAT		fEmissionRadius;
	DFLOAT		fMinimumVelocity;
	DFLOAT		fMaximumVelocity;
	DFLOAT		fVelocityOffset;
	DFLOAT		fParticleLifetime;
	DFLOAT		fParticleRadius;
	DFLOAT		fGravity;
	DFLOAT		fRotationVelocity;
	HSTRING		hstrTextureName;
};

inline PSCREATESTRUCT::PSCREATESTRUCT()
{
	memset(this, 0, sizeof(PSCREATESTRUCT));
}

class CParticleSystemFX : public CBaseParticleSystemFX
{
	public :

		CParticleSystemFX();
		~CParticleSystemFX()
		{
			if (m_cs.hstrTextureName && m_pClientDE)
			{
				m_pClientDE->FreeString(m_cs.hstrTextureName);
			}
		}

		virtual DBOOL Init(SFXCREATESTRUCT* psfxCreateStruct);
		virtual DBOOL Update();
		virtual DBOOL CreateObject(CClientDE* pClientDE);

	protected :

		// Creation data...

		PSCREATESTRUCT	m_cs;		// Holds all initialization data

		DBOOL	m_bFirstUpdate;		// Is this the first update
		DFLOAT	m_fNextUpdate;		// Time between updates
		DFLOAT	m_fLastTime;		// When was the last time
		DVector	m_vMinOffset;		// Minumum offset
		DVector m_vMaxOffset;		// Maximum offset
		DVector m_vMinVel;			// Minimum velocity
		DVector m_vMaxVel;			// Maximum velocity

		DDWORD	m_dwLastFrameUserFlags;
};

#endif // __PARTICLE_SYSTEM_FX_H__

⌨️ 快捷键说明

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