1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "Library/HostIO/HioNode.h"
6#include "Library/Rail/IUseRail.h"
7
8namespace al {
9class RailRider;
10class PlacementInfo;
11
12class RailKeeper : public HioNode, public IUseRail {
13public:
14 RailKeeper(const PlacementInfo& info);
15
16 RailRider* getRailRider() const override { return mRailRider; }
17
18private:
19 RailRider* mRailRider = nullptr;
20};
21
22RailKeeper* createRailKeeper(const PlacementInfo& info, const char* linkName);
23RailKeeper* tryCreateRailKeeper(const PlacementInfo& info, const char* linkName);
24RailKeeper* createRailKeeperIndex(const PlacementInfo& info, s32 linkIndex, const char* linkName);
25} // namespace al
26