metaforce/Runtime/Particle/CParticleGen.hpp

51 lines
1.6 KiB
C++

#ifndef __RETRO_CPARTICLEGEN_HPP__
#define __RETRO_CPARTICLEGEN_HPP__
#include "../RetroTypes.hpp"
#include "CParticleGen.hpp"
#include "CTransform.hpp"
#include "CColor.hpp"
#include "CAABox.hpp"
namespace Retro
{
class CWarp;
class CLight;
class CGenDescription
{
};
class CParticleGen
{
public:
virtual ~CParticleGen() {}
virtual void Update(double);
virtual void Render();
virtual void SetOrientation(const Zeus::CTransform&);
virtual void SetTranslation(const Zeus::CVector3f&);
virtual void SetGlobalOrientation(const Zeus::CTransform&);
virtual void SetGlobalTranslation(const Zeus::CVector3f&);
virtual void SetGlobalScale(const Zeus::CVector3f&);
virtual void SetLocalScale(const Zeus::CVector3f&);
virtual void SetParticleEmission(bool);
virtual void SetModulationColor(const Zeus::CColor&);
virtual const Zeus::CTransform& GetOrientation() const;
virtual const Zeus::CVector3f& GetTranslation() const;
virtual const Zeus::CTransform& GetGlobalOrientation() const;
virtual const Zeus::CVector3f& GetGlobalTranslation() const;
virtual const Zeus::CVector3f& GetGlobalScale() const;
virtual bool GetParticleEmission() const;
virtual const Zeus::CColor& GetModulationColor() const;
virtual bool IsSystemDeletable() const;
virtual Zeus::CAABox GetBounds() const;
virtual u32 GetParticleCount() const;
virtual bool SystemHasLight() const;
virtual CLight GetLight() const;
virtual void DestroyParticles();
virtual void AddModifier(CWarp*);
};
}
#endif // __RETRO_CPARTICLEGEN_HPP__