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

📄 bloodsplatfx.h

📁 Blood 2全套源码
💻 H
字号:

 // ----------------------------------------------------------------------- //
//
// MODULE  : BloodSplatSFX.h
//
// PURPOSE : Blood splat special fx class - Definition
//
// CREATED : 7/29/98
//
// ----------------------------------------------------------------------- //

#ifndef __BLOODSPLATSFX_H__
#define __BLOODSPLATSFX_H__

#include "SpecialFX.h"
#include "dlink.h"

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

	DVector		m_Pos;
	DRotation	m_Rotation;
	DFLOAT		m_fScale;
	DFLOAT		m_fGrowScale;
	HSTRING		m_hstrSprite;
};

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

//extern DList g_BloodSplatList;

class CBloodSplatFX : public CSpecialFX
{
	public :

		CBloodSplatFX() : CSpecialFX()
		{
			VEC_INIT( m_vPos );
			ROT_INIT( m_Rotation );
			m_hstrSprite = DNULL;
			VEC_INIT(m_vScale);
			m_fGrowScale = 0.0f;

			if( m_BloodSplatList.m_nElements == 0 )
				dl_InitList( &m_BloodSplatList );

			dl_AddTail( &m_BloodSplatList, &m_BloodSplatLink, this );
		}

		~CBloodSplatFX()
		{
			if( m_hstrSprite && m_pClientDE )
				m_pClientDE->FreeString( m_hstrSprite );

			dl_RemoveAt( &m_BloodSplatList, &m_BloodSplatLink );
		}

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

		HOBJECT	GetHandle()		{return m_hObject;}

	private :

		DVector		m_vPos;
		DRotation	m_Rotation;
		DVector		m_vForward;
		HSTRING		m_hstrSprite;
		DFLOAT		m_fGrowScale;
		DVector		m_vScale;

		DBOOL		m_bShrink;
		DFLOAT		m_fGrowTime;

		static DList m_BloodSplatList;
		DLink		m_BloodSplatLink;
};

#endif // __BLOODSPLATSFX_H__

⌨️ 快捷键说明

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