2022-10-17 15:02:11 +00:00
|
|
|
#ifndef _CGAMELIGHT
|
|
|
|
#define _CGAMELIGHT
|
|
|
|
|
|
|
|
#include "MetroidPrime/CActor.hpp"
|
|
|
|
|
|
|
|
#include "Kyoto/Graphics/CLight.hpp"
|
|
|
|
|
|
|
|
class CGameLight : public CActor {
|
|
|
|
public:
|
|
|
|
CGameLight(TUniqueId uid, TAreaId aid, bool active, const rstl::string& name,
|
|
|
|
const CTransform4f& xf, TUniqueId parentId, const CLight& light, uint sourceId,
|
|
|
|
uint priority, float lifeTime);
|
2022-10-18 20:21:14 +00:00
|
|
|
~CGameLight();
|
2022-10-17 15:02:11 +00:00
|
|
|
|
|
|
|
void SetLight(const CLight& light);
|
|
|
|
CLight GetLight() const;
|
2023-02-06 17:01:01 +00:00
|
|
|
void Think(float dt, CStateManager& mgr) override;
|
|
|
|
void Accept(IVisitor& visitor) override;
|
2022-10-18 20:21:14 +00:00
|
|
|
void SetLightPriorityAndId();
|
2022-10-17 15:02:11 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
TUniqueId xe8_parentId;
|
|
|
|
CLight xec_light;
|
|
|
|
uint x13c_lightId;
|
|
|
|
uint x140_priority;
|
|
|
|
float x144_lifeTime;
|
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CGameLight, 0x148)
|
|
|
|
|
|
|
|
#endif // _CGAMELIGHT
|