engine/game/particleEmitter.h
2024-01-07 04:36:33 +00:00

83 lines
1.9 KiB
C++

//-----------------------------------------------------------------------------
// V12 Engine
//
// Copyright (c) 2001 GarageGames.Com
// Portions Copyright (c) 2001 by Sierra Online, Inc.
//-----------------------------------------------------------------------------
#ifndef _H_PARTICLEEMISSIONDUMMY
#define _H_PARTICLEEMISSIONDUMMY
#ifndef _GAMEBASE_H_
#include "game/gameBase.h"
#endif
class ParticleEmitterData;
class ParticleEmitter;
// -------------------------------------------------------------------------
class ParticleEmissionDummyData : public GameBaseData
{
typedef GameBaseData Parent;
protected:
bool onAdd();
//-------------------------------------- Console set variables
public:
F32 timeMultiple;
//-------------------------------------- load set variables
public:
public:
ParticleEmissionDummyData();
~ParticleEmissionDummyData();
void packData(BitStream*);
void unpackData(BitStream*);
bool preload(bool server, char errorBuffer[256]);
DECLARE_CONOBJECT(ParticleEmissionDummyData);
static void initPersistFields();
};
// -------------------------------------------------------------------------
class ParticleEmissionDummy : public GameBase
{
typedef GameBase Parent;
private:
ParticleEmissionDummyData* mDataBlock;
protected:
bool onAdd();
void onRemove();
bool onNewDataBlock(GameBaseData*);
ParticleEmitterData* mEmitterDatablock;
S32 mEmitterDatablockId;
ParticleEmitter* mEmitter;
F32 mVelocity;
public:
ParticleEmissionDummy();
~ParticleEmissionDummy();
// Time/Move Management
public:
void advanceTime(F32);
DECLARE_CONOBJECT(ParticleEmissionDummy);
static void initPersistFields();
static void consoleInit();
U32 packUpdate(NetConnection*, U32 mask, BitStream* stream);
void unpackUpdate(NetConnection*, BitStream* stream);
};
#endif // _H_PARTICLEEMISSIONDUMMY