2022-10-17 22:19:07 +03:00
|
|
|
#ifndef _CSCRIPTSPAWNPOINT
|
|
|
|
|
#define _CSCRIPTSPAWNPOINT
|
|
|
|
|
|
|
|
|
|
#include "MetroidPrime/CEntity.hpp"
|
|
|
|
|
|
|
|
|
|
#include "MetroidPrime/Player/CPlayerState.hpp"
|
|
|
|
|
|
|
|
|
|
#include "Kyoto/Math/CTransform4f.hpp"
|
|
|
|
|
|
|
|
|
|
class CScriptSpawnPoint : public CEntity {
|
|
|
|
|
CTransform4f x34_xf;
|
|
|
|
|
rstl::reserved_vector< int, int(CPlayerState::kIT_Max) > x64_itemCounts;
|
|
|
|
|
bool x10c_24_firstSpawn : 1;
|
|
|
|
|
bool x10c_25_morphed : 1;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
CScriptSpawnPoint(TUniqueId, const rstl::string& name, const CEntityInfo& info,
|
|
|
|
|
const CTransform4f& xf,
|
|
|
|
|
const rstl::reserved_vector< int, int(CPlayerState::kIT_Max) >& itemCounts,
|
2026-03-19 20:55:56 -06:00
|
|
|
bool, bool, const bool);
|
2022-10-28 17:42:35 -04:00
|
|
|
|
2023-02-06 12:01:01 -05:00
|
|
|
~CScriptSpawnPoint() override;
|
|
|
|
|
void Accept(IVisitor&) override;
|
|
|
|
|
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
|
2022-10-17 22:19:07 +03:00
|
|
|
|
2026-02-28 00:58:47 -07:00
|
|
|
bool FirstSpawn() const { return x10c_24_firstSpawn; }
|
2022-10-17 22:19:07 +03:00
|
|
|
const CTransform4f& GetTransform() const;
|
|
|
|
|
int GetPowerup(const CPlayerState::EItemType&) const;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // _CSCRIPTSPAWNPOINT
|