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

📄 lightningsegmentfx.h

📁 Blood 2全套源码
💻 H
字号:
// ----------------------------------------------------------------------- //
//
// MODULE  : LightningSegmentFX.h
//
// PURPOSE : Special FX class for lightning-like instant particle streams
//
// CREATED : 8/1/98
//
// ----------------------------------------------------------------------- //

#ifndef __LIGHTNINGSEGMENT_FX_H__
#define __LIGHTNINGSEGMENT_FX_H__

#include "BaseParticleSystemFX.h"

// ----------------------------------------------------------------------- //

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

	DVector		vOffset;
	DVector		vNextOffset;
//	DVector		vDir;
	DVector		vColor;
	DFLOAT		fIncrement;
	DFLOAT		fAlpha;
	DFLOAT		fRadius;
	DFLOAT		fDuration;
	DFLOAT		fFadeTime;
	DDWORD		nNumParticles;
	HSTRING		hstrTexture;
};

// ----------------------------------------------------------------------- //

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

// ----------------------------------------------------------------------- //

class CLightningSegmentFX : public CBaseParticleSystemFX
{
	public :

		CLightningSegmentFX() : CBaseParticleSystemFX() {}
		~CLightningSegmentFX()
		{
			g_pClientDE->FreeString( m_hstrTexture );
		}

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

	private :

		DBOOL	CreateParticles();

		DVector m_vOffset;			// Up and right vector offsets from the gun
		DVector	m_vNextOffset;		// Next position to align the rotation
//		DVector m_vDir;				// Direction vector was shot
		DFLOAT	m_fIncrement;		// Increment down the forward axis to place particles
		DFLOAT	m_fAlpha;			// Alpha for the systems
		DFLOAT	m_fDuration;		// Time to hang around
		DFLOAT	m_fFadeTime;		// Amount of time to fade during the end of the duration
		DDWORD	m_nNumParticles;	// How many particles to stretch across the Dir
		HSTRING m_hstrTexture;		// Texture to sprite to use

		DFLOAT	m_fStartTime;		// Time that the FX started
};

#endif // __LIGHTNINGSEGMENT_FX_H__

⌨️ 快捷键说明

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