#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 x0_jointDescriptions; TUniqueId x10_ownerId; bool x12_; bool x13_ = false; bool x14_ = true; public: CCollisionActorManager(CStateManager&, TUniqueId, TAreaId, const std::vector&, 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&); }; }