metaforce/Runtime/Particle/CParticleElectric.hpp

45 lines
1.3 KiB
C++
Raw Normal View History

2016-02-13 09:02:47 +00:00
#ifndef __PSHAG_CPARTICLEELECTRIC_HPP__
#define __PSHAG_CPARTICLEELECTRIC_HPP__
2015-08-21 00:06:39 +00:00
2016-02-13 05:49:59 +00:00
#include "CParticleGen.hpp"
#include "CToken.hpp"
2015-08-21 00:06:39 +00:00
2016-02-13 09:02:47 +00:00
namespace pshag
2015-08-21 00:06:39 +00:00
{
2016-02-11 22:38:25 +00:00
class CElectricDescription;
2015-08-21 00:06:39 +00:00
2016-02-13 05:49:59 +00:00
class CParticleElectric : public CParticleGen
2015-08-21 00:06:39 +00:00
{
2016-02-11 22:38:25 +00:00
public:
CParticleElectric(const TToken<CElectricDescription>& desc);
2016-02-13 05:49:59 +00:00
void Update(double);
void Render();
void SetOrientation(const Zeus::CTransform&);
void SetTranslation(const Zeus::CVector3f&);
void SetGlobalOrientation(const Zeus::CTransform&);
void SetGlobalTranslation(const Zeus::CVector3f&);
void SetGlobalScale(const Zeus::CVector3f&);
void SetLocalScale(const Zeus::CVector3f&);
void SetParticleEmission(bool);
void SetModulationColor(const Zeus::CColor&);
const Zeus::CTransform& GetOrientation() const;
const Zeus::CVector3f& GetTranslation() const;
const Zeus::CTransform& GetGlobalOrientation() const;
const Zeus::CVector3f& GetGlobalTranslation() const;
const Zeus::CVector3f& GetGlobalScale() const;
const Zeus::CColor& GetModulationColor() const;
bool IsSystemDeletable() const;
std::pair<Zeus::CAABox, bool> GetBounds() const;
u32 GetParticleCount() const;
bool SystemHasLight() const;
CLight GetLight() const;
bool GetParticleEmission() const;
void DestroyParticles();
2016-02-18 04:44:06 +00:00
void Reset() {}
2015-08-21 00:06:39 +00:00
};
}
2016-02-13 09:02:47 +00:00
#endif // __PSHAG_CPARTICLEELECTRIC_HPP__