📄 volumebrush.h
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : VolumeBrush.h
//
// PURPOSE : VolumeBrush definition
//
// CREATED : 1/29/98
//
// ----------------------------------------------------------------------- //
#ifndef __VOLUME_BRUSH_H__
#define __VOLUME_BRUSH_H__
#include "cpp_engineobjects_de.h"
#include "ContainerCodes.h"
//#include "DamageTypes.h"
#include "B2BaseClass.h"
class VolumeBrush : public B2BaseClass
{
public :
VolumeBrush();
~VolumeBrush();
DFLOAT GetGravity() const { return m_fGravity; }
DFLOAT GetViscosity() const { return m_fViscosity; }
ContainerCode GetCode() const { return m_eContainerCode; }
void GetSurfaceColor(DVector *color1, DVector *color2)
{ VEC_COPY(*color1, m_vSurfaceColor1); VEC_COPY(*color2, m_vSurfaceColor2); }
void UndoViscosityCalculation(ContainerPhysics* pCPStruct);
DVector& GetCurrent() { return m_vCurrent; }
DBOOL GetHidden() { return m_bHidden; }
protected :
DDWORD EngineMessageFn(DDWORD messageID, void *pData, DFLOAT lData);
DDWORD ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead);
virtual void UpdatePhysics(ContainerPhysics* pCPStruct);
virtual void UpdateLiquidPhysics(ContainerPhysics* pCPStruct, DBOOL bCharacter=DFALSE);
virtual void UpdateZeroGravity(ContainerPhysics* pCPStruct);
private:
void Save(HMESSAGEWRITE hWrite, DDWORD dwSaveFlags);
void Load(HMESSAGEREAD hRead, DDWORD dwLoadFlags);
void CacheFiles();
protected:
DFLOAT m_fViscosity;
ContainerCode m_eContainerCode;
DVector m_vCurrent;
DFLOAT m_fDamage;
DBYTE m_nDamageType;
DFLOAT m_fSurfaceHeight;
DBOOL m_bShowSurface;
DVector m_vSurfaceColor1;
DVector m_vSurfaceColor2;
DFLOAT m_fSurfaceAlpha;
DVector m_vLastPos;
DBOOL m_bHidden;
DFLOAT m_fGravity;
DFLOAT m_fLastDamageTime;
DFLOAT m_fXScaleMin;
DFLOAT m_fXScaleMax;
DFLOAT m_fYScaleMin;
DFLOAT m_fYScaleMax;
DFLOAT m_fXScaleDuration;
DFLOAT m_fYScaleDuration;
DDWORD m_dwNumSurfacePolies;
HSTRING m_hstrSurfaceSprite;
DDWORD m_dwFlags;
DDWORD m_dwSaveFlags;
HOBJECT m_hSurfaceObj;
DBOOL m_bLocked; // Needs a key to activate
DBOOL m_bUnlockKeyRemove; // Key gets removed from inventory when used
HSTRING m_hstrKeyName; // name of key needed for activation
// Fog stuff
DBOOL m_bFogEnable;
DFLOAT m_fFogFarZ;
DFLOAT m_fFogNearZ;
DVector m_vFogColor;
HCLASS m_hPlayerClass;
private :
void CreateSurface();
void HandleTrigger(HOBJECT hSender, HSTRING hMsg);
void ReadProp(ObjectCreateStruct *pStruct);
void InitialUpdate(int nData);
void Update();
};
#endif // __VOLUME_BRUSH_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -