1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "Library/HostIO/HioNode.h"
6
7#include "Player/IJudge.h"
8
9class IUsePlayerHack;
10
11namespace al {
12class LiveActor;
13}
14
15class HackerJudge : public al::HioNode, public IJudge {
16public:
17 HackerJudge(IUsePlayerHack** parent) { mHacker = parent; };
18
19 void reset() override;
20 void update() override;
21 bool judge() const override;
22
23 IUsePlayerHack** getHacker() const { return mHacker; };
24
25private:
26 IUsePlayerHack** mHacker;
27};
28
29class HackerJudgeNormalFall : public HackerJudge {
30public:
31 HackerJudgeNormalFall(const al::LiveActor* parent, s32 unk);
32 void reset() override;
33 void update() override;
34 bool judge() const override;
35
36private:
37 s32 field_10;
38 s32 field_14;
39 al::LiveActor* mParent;
40};
41
42class HackerJudgeStartJump : public HackerJudge {
43public:
44 HackerJudgeStartJump(IUsePlayerHack**);
45 void reset() override;
46 void update() override;
47 bool judge() const override;
48};
49
50class HackerJudgeStartRun : public HackerJudge {
51public:
52 HackerJudgeStartRun(const al::LiveActor*, IUsePlayerHack**);
53 void reset() override;
54 void update() override;
55 bool judge() const override;
56
57private:
58 al::LiveActor* mParent;
59 s32 field_18;
60 al::LiveActor* field_20;
61 f32 field_28;
62};
63