2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2016-05-13 03:13:34 +00:00
|
|
|
|
|
|
|
#include "CPhysicsActor.hpp"
|
2017-09-12 15:27:48 +00:00
|
|
|
#include "CPlayerState.hpp"
|
2016-05-13 03:13:34 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
namespace urde {
|
|
|
|
class CScriptPickup : public CPhysicsActor {
|
|
|
|
CPlayerState::EItemType x258_itemType;
|
|
|
|
u32 x25c_amount;
|
|
|
|
u32 x260_capacity;
|
|
|
|
float x264_possibility;
|
|
|
|
float x268_;
|
|
|
|
float x26c_;
|
|
|
|
float x270_ = 0.f;
|
|
|
|
float x274_;
|
|
|
|
float x278_;
|
|
|
|
TLockedToken<CGenDescription> x27c_explosionDesc;
|
2017-09-12 15:27:48 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
u8 x28c_24_ : 1;
|
|
|
|
u8 x28c_25_ : 1;
|
|
|
|
u8 x28c_26_ : 1;
|
2017-09-12 15:27:48 +00:00
|
|
|
|
2016-05-13 03:13:34 +00:00
|
|
|
public:
|
2018-12-08 05:30:43 +00:00
|
|
|
CScriptPickup(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
|
|
|
const CActorParameters&, const zeus::CAABox&, CPlayerState::EItemType, s32, s32, CAssetId, float, float,
|
|
|
|
float, float, bool);
|
2017-01-15 03:07:01 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
void Accept(IVisitor& visitor);
|
|
|
|
void Think(float, CStateManager&);
|
|
|
|
void Touch(CActor&, CStateManager&);
|
|
|
|
std::experimental::optional<zeus::CAABox> GetTouchBounds() const { return CPhysicsActor::GetBoundingBox(); }
|
|
|
|
float GetPossibility() const { return x264_possibility; }
|
|
|
|
CPlayerState::EItemType GetItem() { return x258_itemType; }
|
2016-05-13 03:13:34 +00:00
|
|
|
};
|
2018-12-08 05:30:43 +00:00
|
|
|
} // namespace urde
|