Files

41 lines
1.3 KiB
C++
Raw Permalink Normal View History

2022-12-23 22:50:36 -03:00
#ifndef _CSCRIPTACTORROTATE
#define _CSCRIPTACTORROTATE
#include "MetroidPrime/CEntity.hpp"
#include "rstl/map.hpp"
struct SRiders;
class CScriptPlatform;
class CScriptActorRotate : public CEntity {
public:
2025-05-23 13:36:07 -07:00
CScriptActorRotate(TUniqueId, const rstl::string&, const CEntityInfo&, const CVector3f&,
float, bool, bool, bool);
2022-12-23 22:50:36 -03:00
~CScriptActorRotate();
2023-02-06 12:01:01 -05:00
void Accept(IVisitor& visitor) override;
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
void Think(float, CStateManager&) override;
2022-12-23 22:50:36 -03:00
private:
CVector3f x34_rotation;
float x40_maxTime;
float x44_currentTime; // = 0.f;
// rstl::map< TUniqueId, CTransform4f > x48_actors;
2025-05-23 13:36:07 -07:00
rstl::vector< rstl::pair< TUniqueId, CTransform4f > > x48_actors;
2022-12-23 22:50:36 -03:00
2025-05-23 13:36:07 -07:00
bool x58_24_updateRotation : 1; // = false;
2022-12-23 22:50:36 -03:00
bool x58_25_updateSpiderBallWaypoints : 1; // = false;
bool x58_26_updateActors : 1;
bool x58_27_updateOnCreation : 1;
void UpdateActors(bool, CStateManager&);
void RebuildSpiderBallWaypoints(CStateManager&);
void UpdatePlatformRiders(CScriptPlatform&, const CTransform4f&, CStateManager&);
void UpdatePlatformRiders(rstl::vector< SRiders >&, CScriptPlatform&, const CTransform4f&,
CStateManager&);
};
#endif // _CSCRIPTACTORROTATE