client/EffectLib/ParticleSystemData.h

42 lines
913 B
C++

#pragma once
#include "../eterLib/TextFileLoader.h"
#include "EffectElementBase.h"
#include "EmitterProperty.h"
#include "ParticleProperty.h"
//#include "ParticleInstance.h"
class CParticleInstance;
class CParticleSystemData : public CEffectElementBase
{
public:
virtual ~CParticleSystemData();
CParticleSystemData();
CEmitterProperty * GetEmitterPropertyPointer();
CParticleProperty * GetParticlePropertyPointer();
void ChangeTexture(const char * c_szFileName);
void BuildDecorator(CParticleInstance * pInstance);
protected:
BOOL OnLoadScript(CTextFileLoader & rTextFileLoader);
void OnClear();
bool OnIsData();
CEmitterProperty m_EmitterProperty;
CParticleProperty m_ParticleProperty;
public:
static void DestroySystem();
static CParticleSystemData* New();
static void Delete(CParticleSystemData* pkData);
static CDynamicPool<CParticleSystemData> ms_kPool;
};