📄 sparksobj.h
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : SparksObj.h
//
// PURPOSE : SparksObj Inventory Item
//
// CREATED : 02/03/98
//
// ----------------------------------------------------------------------- //
#ifndef __SPARKS_OBJ_H__
#define __SPARKS_OBJ_H__
#include "cpp_engineobjects_de.h"
#include "weapon.h"
#include "B2BaseClass.h"
class SparksObj : public B2BaseClass
{
public :
SparksObj();
~SparksObj();
void ToggleSpark() { if(m_bOn) TurnOff(); else TurnOn(); }
void TurnOn() { m_bOn = DTRUE; }
void TurnOff() { m_bOn = DFALSE; }
void SetValues( int nType,
DFLOAT fSparkCountMin,
DFLOAT fSparkCountMax,
DFLOAT fSparkDuration,
DFLOAT fSparkEmissionRadius,
DFLOAT fDelaySecsMin,
DFLOAT fDelaySecsMax,
DFLOAT fMaxSecs)
{
m_nType = nType;
m_fSparkCountMin = fSparkCountMin;
m_fSparkCountMax = fSparkCountMax;
m_fSparkDuration = fSparkDuration;
m_fSparkEmissionRadius = fSparkEmissionRadius;
m_fDelaySecsMin = fDelaySecsMin;
m_fDelaySecsMax = fDelaySecsMax;
m_fMaxSecs = fMaxSecs;
}
protected :
DDWORD EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData);
DDWORD ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead);
DBOOL m_bOn;
private :
void HandleTrigger( HOBJECT hSender, HMESSAGEREAD hRead );
DBOOL ReadProp(ObjectCreateStruct *pStruct);
void PostPropRead(ObjectCreateStruct *pStruct);
DBOOL InitialUpdate(DVector *pMovement);
void Update();
void AddSparks(DVector vPos, DVector vNormal, DFLOAT fCount, SurfaceType eType, DFLOAT fDuration, DFLOAT fEmissionRadius);
void PlaySparkSound();
DFLOAT m_fSparkOn;
DFLOAT m_fSparkStart;
DFLOAT m_fSparkNext;
int m_nType;
DFLOAT m_fSparkCountMin;
DFLOAT m_fSparkCountMax;
DFLOAT m_fSparkDuration;
DFLOAT m_fSparkEmissionRadius;
DFLOAT m_fDelaySecsMin;
DFLOAT m_fDelaySecsMax;
DFLOAT m_fMaxSecs;
HSTRING m_hstrSparkSound;
};
#endif // __SPARKS_OBJ_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -