#pragma once

#include <container/seadPtrArray.h>

#include "Library/LiveActor/LiveActor.h"

class HipDropSwitch;
class TrampleSwitch;

namespace al {
struct ActorInitInfo;
}  // namespace al

class RouletteSwitch : public al::LiveActor {
public:
    RouletteSwitch(const char* name);
    void init(const al::ActorInitInfo& info) override;
    void control() override;
    void exeWait();

private:
    sead::FixedPtrArray<TrampleSwitch, 3> mButtons;
    HipDropSwitch* mResetButton = nullptr;
    bool mIsPressReset = false;
};

static_assert(sizeof(RouletteSwitch) == 0x140);
