2016-02-13 09:02:47 +00:00
|
|
|
#ifndef __PSHAG_CPARTICLESWOOSH_HPP__
|
|
|
|
#define __PSHAG_CPARTICLESWOOSH_HPP__
|
2015-08-21 00:06:39 +00:00
|
|
|
|
2016-02-13 05:49:59 +00:00
|
|
|
#include "CParticleGen.hpp"
|
2016-02-11 22:38:25 +00:00
|
|
|
#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 CSwooshDescription;
|
2015-08-21 00:06:39 +00:00
|
|
|
|
2016-02-13 05:49:59 +00:00
|
|
|
class CParticleSwoosh : public CParticleGen
|
2015-08-21 00:06:39 +00:00
|
|
|
{
|
2016-02-11 22:38:25 +00:00
|
|
|
public:
|
|
|
|
CParticleSwoosh(const TToken<CSwooshDescription>& desc, int);
|
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_CPARTICLESWOOSH_HPP__
|