mirror of https://github.com/PrimeDecomp/prime.git
43 lines
1.9 KiB
C++
43 lines
1.9 KiB
C++
#ifndef _CPARTICLEGENINFOGENERIC
|
|
#define _CPARTICLEGENINFOGENERIC
|
|
|
|
#include "MetroidPrime/CParticleGenInfo.hpp"
|
|
|
|
class CParticleGen;
|
|
|
|
class CParticleGenInfoGeneric : public CParticleGenInfo {
|
|
public:
|
|
CParticleGenInfoGeneric(const SObjectTag& part, rstl::ncrc_ptr< CParticleGen > system, int frames,
|
|
const rstl::string& boneName, CVector3f scale,
|
|
CParticleData::EParentedMode parentMode, int flags,
|
|
CStateManager& stateMgr, TAreaId areaId, int lightId,
|
|
EParticleGenType state);
|
|
~CParticleGenInfoGeneric();
|
|
|
|
virtual void AddToRenderer() override;
|
|
virtual void Render() override;
|
|
virtual void Update(float dt, CStateManager& stateMgr) override;
|
|
virtual void SetOrientation(const CTransform4f& xf, CStateManager& stateMgr) override;
|
|
virtual void SetTranslation(const CVector3f& trans, CStateManager& stateMgr) override;
|
|
virtual void SetGlobalOrientation(const CTransform4f& xf, CStateManager& stateMgr) override;
|
|
virtual void SetGlobalTranslation(const CVector3f& trans, CStateManager& stateMgr) override;
|
|
virtual void SetGlobalScale(const CVector3f& scale) override;
|
|
virtual void SetParticleEmission(bool isActive, CStateManager& stateMgr) override;
|
|
virtual bool IsSystemDeletable() const override;
|
|
virtual rstl::optional_object<CAABox> GetBounds() const override;
|
|
virtual bool HasActiveParticles() const override;
|
|
virtual void DestroyParticles() override;
|
|
virtual bool HasLight() const override;
|
|
virtual TUniqueId GetLightId() const override;
|
|
virtual void DeleteLight(CStateManager& stateMgr) override;
|
|
virtual void SetModulationColor(const CColor& color) override;
|
|
|
|
const rstl::rc_ptr< CParticleGen >& GetParticleSystem() const { return x84_system; }
|
|
|
|
private:
|
|
rstl::ncrc_ptr< CParticleGen > x84_system;
|
|
TUniqueId x88_lightId;
|
|
};
|
|
|
|
#endif // _CPARTICLEGENINFOGENERIC
|