1#pragma once
2
3#include <math/seadVector.h>
4
5namespace al {
6class LiveActor;
7}
8class PlayerConst;
9class PlayerInput;
10class IUsePlayerCollision;
11class PlayerEffect;
12
13class PlayerSandSinkAffect {
14public:
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
25private:
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
36static_assert(sizeof(PlayerSandSinkAffect) == 0x38);
37