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

📄 volumebrushtypes.h

📁 Blood 2全套源码
💻 H
字号:
// ----------------------------------------------------------------------- //
//
// MODULE  : VolumeBrushTypes.h
//
// PURPOSE : VolumeBrushTypes definition
//
// CREATED : 2/16/98
//
// ----------------------------------------------------------------------- //

#ifndef __VOLUME_BRUSH_TYPES_H__
#define __VOLUME_BRUSH_TYPES_H__

#include "VolumeBrush.h"

DBOOL LiquidFilterFn(HOBJECT hObj, void *pUserData);

class Water : public VolumeBrush
{
	public:
		Water() : VolumeBrush() { m_dwFlags |= FLAG_RAYHIT; m_eContainerCode = CC_WATER; }
};


class Blood : public VolumeBrush
{
	public:
		Blood() : VolumeBrush() { m_dwFlags |= FLAG_RAYHIT; m_eContainerCode = CC_BLOOD; }
};


class Acid : public VolumeBrush
{
	public:
		Acid() : VolumeBrush() { m_dwFlags |= FLAG_RAYHIT; m_eContainerCode = CC_ACID; }
};


class Ladder : public VolumeBrush
{	
	public:
		Ladder() : VolumeBrush() { m_eContainerCode = CC_LADDER; }
	protected:
		virtual void UpdatePhysics(ContainerPhysics* pCPStruct);
};


class Conveyor : public VolumeBrush
{	
	public:
		Conveyor() : VolumeBrush() { m_eContainerCode = CC_CONVEYOR; }
	protected:
		virtual void UpdatePhysics(ContainerPhysics* pCPStruct);
};


// Level-specific items

class CraneControl : public VolumeBrush
{	
	public:	
		CraneControl() 
		{ 
			m_hCameraObj = DNULL; 
			m_hCrane = DNULL; 
			m_hBall		= DNULL;
			m_fCamYaw = 0.0f;
			m_eContainerCode = CC_CRANECONTROL;
		}
	protected:
		virtual void UpdatePhysics(ContainerPhysics* pCPStruct);

		HOBJECT m_hCameraObj;
		HOBJECT m_hCrane;
		HOBJECT m_hBall;
		DFLOAT	m_fCamYaw;
};


class Damage : public VolumeBrush
{	
	public:
		Damage() : VolumeBrush() { m_eContainerCode = CC_DAMAGE; }
};


class Minefield : public VolumeBrush
{	
	public:
		Minefield() : VolumeBrush() { m_eContainerCode = CC_MINEFIELD; }

		DDWORD ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead);
		void   Damage( HOBJECT hObj );

	protected:
		virtual void UpdatePhysics(ContainerPhysics* pCPStruct);
		void	AddExplosion(DVector &vPos);
};




class FreeFall : public VolumeBrush
{	
	public:
		FreeFall() : VolumeBrush() { m_eContainerCode = CC_FREEFALL; m_fGravity = 0; }
};



#endif // __VOLUME_BRUSH_TYPES_H__

⌨️ 快捷键说明

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