2016-05-23 05:36:20 +00:00
|
|
|
#ifndef __URDE_CSCRIPTDEBRIS_HPP__
|
|
|
|
#define __URDE_CSCRIPTDEBRIS_HPP__
|
|
|
|
|
|
|
|
#include "CPhysicsActor.hpp"
|
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
2018-01-15 12:36:04 +00:00
|
|
|
class CElementGen;
|
2016-05-23 05:36:20 +00:00
|
|
|
class CScriptDebris : public CPhysicsActor
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum class EScaleType
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
enum class EOrientationType
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
private:
|
2018-05-14 03:38:36 +00:00
|
|
|
zeus::CVector3f x258_;
|
|
|
|
zeus::CColor x264_;
|
|
|
|
float x26c_ = 0.f;
|
|
|
|
float x270_ = 0.f;
|
|
|
|
float x274_ = 0.f;
|
|
|
|
float x278_;
|
|
|
|
float x27c_;
|
|
|
|
bool x281_24_ : 1;
|
|
|
|
bool x281_25_ : 1;
|
|
|
|
bool x281_26_ : 1;
|
|
|
|
bool x281_27_ : 1;
|
|
|
|
bool x281_28_ : 1;
|
|
|
|
bool x281_29_ : 1;
|
|
|
|
bool x281_30_ : 1;
|
|
|
|
bool x281_31_ : 1;
|
2018-01-15 12:36:04 +00:00
|
|
|
bool x282_24_ : 1;
|
|
|
|
zeus::CVector3f x2c8_collisionNormal;
|
|
|
|
std::unique_ptr<CElementGen> x2d4_;
|
|
|
|
std::unique_ptr<CElementGen> x2d8_;
|
|
|
|
std::unique_ptr<CElementGen> x2dc_;
|
2016-12-22 19:57:21 +00:00
|
|
|
TReservedAverage<float, 8> x2e0_;
|
2018-05-14 03:38:36 +00:00
|
|
|
|
2016-05-23 05:36:20 +00:00
|
|
|
public:
|
2017-11-13 06:19:18 +00:00
|
|
|
CScriptDebris(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
2017-08-13 05:26:14 +00:00
|
|
|
const CActorParameters&, CAssetId, const zeus::CVector3f&, float, const zeus::CVector3f&,
|
2016-05-23 05:36:20 +00:00
|
|
|
const zeus::CColor&, float, float, float, EScaleType, bool, bool, bool);
|
2017-01-15 03:07:01 +00:00
|
|
|
|
2017-11-13 06:19:18 +00:00
|
|
|
CScriptDebris(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
|
2016-05-23 05:36:20 +00:00
|
|
|
const CActorParameters&, float, float, float, float, float, float, float, float, float,
|
|
|
|
const zeus::CColor&, const zeus::CColor&, float, const zeus::CVector3f&, const zeus::CVector3f&,
|
2018-05-14 03:38:36 +00:00
|
|
|
float, float, const zeus::CVector3f&, CAssetId, const zeus::CVector3f&, bool, bool, EOrientationType,
|
|
|
|
CAssetId, const zeus::CVector3f&, bool, bool, EOrientationType, CAssetId, const zeus::CVector3f&,
|
|
|
|
EOrientationType, bool, bool, bool, bool);
|
2017-02-28 07:31:14 +00:00
|
|
|
|
|
|
|
void Accept(IVisitor& visitor);
|
2018-04-30 03:12:41 +00:00
|
|
|
std::experimental::optional<zeus::CAABox> GetTouchBounds() const;
|
2018-01-15 12:36:04 +00:00
|
|
|
|
|
|
|
void CollidedWith(TUniqueId uid, const CCollisionInfoList&, CStateManager&);
|
2016-05-23 05:36:20 +00:00
|
|
|
};
|
2018-05-14 03:38:36 +00:00
|
|
|
} // namespace urde
|
2016-05-23 05:36:20 +00:00
|
|
|
|
|
|
|
#endif // __URDE_CSCRIPTDEBRIS_HPP__
|