2015-08-17 23:46:41 +00:00
|
|
|
#ifndef __RETRO_CELEMENTGEN_HPP__
|
|
|
|
#define __RETRO_CELEMENTGEN_HPP__
|
|
|
|
|
2015-08-21 00:06:39 +00:00
|
|
|
#include "CParticleGen.hpp"
|
|
|
|
|
2015-08-17 23:46:41 +00:00
|
|
|
namespace Retro
|
|
|
|
{
|
|
|
|
|
2015-08-21 00:06:39 +00:00
|
|
|
class CElementGen : public CParticleGen
|
2015-08-17 23:46:41 +00:00
|
|
|
{
|
2015-11-02 18:45:39 +00:00
|
|
|
bool x68_particleEmission;
|
|
|
|
float x78_generatorRate;
|
|
|
|
Zeus::CVector3f x88_globalTranslation;
|
|
|
|
Zeus::CTransform x1d8_globalOrientation;
|
|
|
|
std::vector<CElementGen> x240_children;
|
|
|
|
std::vector<CElementGen> x254_children;
|
2015-08-18 05:54:43 +00:00
|
|
|
public:
|
2015-11-02 18:45:39 +00:00
|
|
|
virtual const Zeus::CVector3f& GetGlobalTranslation() const
|
|
|
|
{ return x88_globalTranslation; }
|
|
|
|
virtual const Zeus::CTransform& GetGlobalOrientation() const
|
|
|
|
{ return x1d8_globalOrientation; }
|
|
|
|
virtual bool GetParticleEmission() const
|
|
|
|
{ return x68_particleEmission; }
|
|
|
|
|
|
|
|
void SetGeneratorRateScalar(float scalar)
|
|
|
|
{
|
|
|
|
if (scalar >= 0.0f)
|
|
|
|
x78_generatorRate = scalar;
|
|
|
|
else
|
|
|
|
x78_generatorRate = 0.0f;
|
|
|
|
|
|
|
|
for (CElementGen& child : x240_children)
|
|
|
|
child.SetGeneratorRateScalar(x78_generatorRate);
|
|
|
|
|
|
|
|
for (CElementGen& child : x254_children)
|
|
|
|
child.SetGeneratorRateScalar(x78_generatorRate);
|
|
|
|
}
|
|
|
|
|
2015-08-18 05:54:43 +00:00
|
|
|
static void Initialize()
|
|
|
|
{
|
|
|
|
}
|
2015-11-02 18:45:39 +00:00
|
|
|
void BuildParticleSystemBounds();
|
2015-08-17 23:46:41 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __RETRO_CELEMENTGEN_HPP__
|