mirror of https://github.com/AxioDL/metaforce.git
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "RetroTypes.hpp"
|
|
#include "zeus/CAABox.hpp"
|
|
#include "Collision/CJointCollisionDescription.hpp"
|
|
|
|
namespace urde
|
|
{
|
|
class CMaterialList;
|
|
class CAnimData;
|
|
class CCollisionActor;
|
|
class CStateManager;
|
|
class CCollisionActorManager
|
|
{
|
|
public:
|
|
enum class EUpdateOptions
|
|
{
|
|
Zero,
|
|
One
|
|
};
|
|
|
|
private:
|
|
std::vector<CJointCollisionDescription> x0_jointDescriptions;
|
|
TUniqueId x10_ownerId;
|
|
bool x12_;
|
|
bool x13_ = false;
|
|
bool x14_ = true;
|
|
public:
|
|
CCollisionActorManager(CStateManager&, TUniqueId, TAreaId, const std::vector<CJointCollisionDescription>&, bool);
|
|
|
|
void Update(float, CStateManager&, EUpdateOptions) const;
|
|
void Destroy(CStateManager&) const;
|
|
void SetActive(CStateManager&, bool);
|
|
void AddMaterial(CStateManager&, const CMaterialList&);
|
|
|
|
u32 GetNumCollisionActors() const;
|
|
CJointCollisionDescription GetCollisionDescFromIndex(u32) const;
|
|
zeus::CTransform GetWRLocatorTransform(const CAnimData&, CSegId, const zeus::CTransform&, const zeus::CTransform&);
|
|
};
|
|
}
|