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

📄 destructablemodel.h

📁 Blood 2全套源码
💻 H
字号:
#ifndef __DESTRUCTABLEMODEL_H__
#define __DESTRUCTABLEMODEL_H__


#include "cpp_engineobjects_de.h"
#include "cpp_server_de.h"
#include "Destructable.h"
#include "Debris.h"
#include "B2BaseClass.h"


// CDestructableModel class
class CDestructableModel : public B2BaseClass
{
	public:

		CDestructableModel();
		virtual ~CDestructableModel();

		DBOOL	ReadProp(ObjectCreateStruct *pStruct);
		DDWORD	GetSurfaceType() { return m_dwSurfType; }
	
		DBOOL	IsDestructable() const { return m_bDestructable; }
	protected:

		DDWORD	EngineMessageFn(DDWORD messageID, void *pData, float lData);
		DDWORD	ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead);

	private:

		void	TouchNotify( HOBJECT hObj, DFLOAT fForce );
		void	Update( );
		void	InitialUpdate( DDWORD nData );

		void	HandleTriggerMessage( char *pMsg );
		void	Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags);
		void	Load(HMESSAGEREAD hWrite, DDWORD dwLoadFlags);
		void	HandleDamage();
		void	HandleDestruction();
		char *	GetSlidingSound( );
		void	RotateDims( DRotation *pRot, DVector *pvDims );

	protected:

		CDestructable	m_damage;
		CDebris			m_Debris;
		HSTRING			m_hstrDamagedFilename;
		HSTRING			m_hstrDamagedSkinName;
		HSTRING			m_hstrDestroyFilename;
		HSTRING			m_hstrDestroySkinName;

		DVector			m_InitDims;
		DVector			m_DamageDims;
		DVector			m_DestroyDims;
		DDWORD			m_dwDestroyFlags;
		DBOOL			m_bDeadState;
		DFLOAT			m_fInitHitPoints;
		DFLOAT			m_fDamagedHitPoints;
		DFLOAT			m_fMass;

		DFLOAT			m_fAlpha;
		DFLOAT			m_fTargetAlpha;
		DFLOAT			m_fAlphaFadeRate;
		DFLOAT			m_fLastTime;

		DBOOL			m_bDestroyVisible;
		DBOOL			m_bDestroySolid;
		DBOOL			m_bDestroyGravity;
		DBOOL			m_bPushable;
		DBOOL			m_bDestructable;

		DDWORD			m_dwSurfType;

		DFLOAT			m_fScale;
		DVector			m_vTintColor;
		DBOOL			m_bChrome;

		DBOOL			m_bSliding;
		HSOUNDDE		m_hSlidingSound;
		DVector			m_vLastPos;
		DBYTE			m_nSlidingFrameCounter;
		DBOOL			m_bStandingOn;
		DBYTE			m_nStandingOnFrameCounter;
		HSTRING			m_hstrSlidingSound;

		DFLOAT			m_fYaw;
};


#endif // __DESTRUCTABLEMODEL_H__

⌨️ 快捷键说明

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