📄 destructablemodel.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 + -