summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/aiForkAI.h
blob: d71a71afb4bd95f664d5a850d3eeb0d1e358a426 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include "KingSystem/ActorSystem/actAiAi.h"

namespace ksys::act::ai {

class ForkAI : public Ai {
    SEAD_RTTI_OVERRIDE(ForkAI, Ai)
public:
    explicit ForkAI(const InitArg& arg);
    ~ForkAI() override;

    bool init_(sead::Heap* heap) override;
    void enter_(InlineParamPack* params) override;
    bool reenter(ActionBase* other, const sead::SafeString& context) override;
    void calc() override;
    void leave_() override;
    bool isFailed() const override;
    bool isFinished() const override;
    bool isChangeable() const override;
    bool handleMessage_(const Message& message) override;
    bool handleAck_(const MessageAck& message) override;
    void getCurrentName(sead::BufferedSafeString* name, ActionBase* last) const override;
    void getNames(sead::BufferedSafeString* out) const override;
};

}  // namespace ksys::act::ai