| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include <math/seadVector.h> |
| 4 | |
| 5 | namespace al { |
| 6 | class LiveActor; |
| 7 | } |
| 8 | class PlayerConst; |
| 9 | class PlayerInput; |
| 10 | class IUsePlayerCollision; |
| 11 | class PlayerEffect; |
| 12 | |
| 13 | class PlayerSandSinkAffect { |
| 14 | public: |
| 15 | PlayerSandSinkAffect(const al::LiveActor*, const PlayerConst*, const PlayerInput*, |
| 16 | IUsePlayerCollision*, PlayerEffect*); |
| 17 | void clear(); |
| 18 | bool isSink() const; |
| 19 | void update(bool); |
| 20 | bool isSinkDeathHeight() const; |
| 21 | void reduceVelocity(sead::Vector3f*); |
| 22 | bool isEnableCapThrow() const; |
| 23 | f32 calcSandSinkDeathRate() const; |
| 24 | |
| 25 | private: |
| 26 | const al::LiveActor* mPlayer; |
| 27 | const PlayerConst* mConst; |
| 28 | const PlayerInput* mInput; |
| 29 | IUsePlayerCollision* mCollider; |
| 30 | PlayerEffect* mEffect; |
| 31 | f32 mSinkVelocity; |
| 32 | f32 mSinkAmount; |
| 33 | bool mIsSafe; |
| 34 | }; |
| 35 | |
| 36 | static_assert(sizeof(PlayerSandSinkAffect) == 0x38); |
| 37 |