summaryrefslogtreecommitdiff
path: root/include/toBeSorted/minigame_mgr.h
blob: 941d3ed6b51b306d0959ebed24ee086b5a0474e8 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef MINIGAME_MGR_H
#define MINIGAME_MGR_H

class MinigameManager {
public:
    enum Minigame {
        NONE,
        BAMBOO_CUTTING,
        FUN_FUN_ISLAND,
        THRILL_DIGGER,
        PUMPKIN_CARRY,
        INSECT_CAPTURE,
        PUMPKIN_ARCHERY,
        ROLLERCOASTER,
        TRIAL_TIME_ATTACK,
        BOSS_RUSH,
        HOUSE_CLEANING,
        SPIRAL_CHARGE_TUTORIAL,
        HARP_PLAYING,
    };
    static bool isInMinigameState(Minigame game);

    static bool isInAnyMinigame();

    static bool endMinigame(Minigame game);

    static void create();
    static void destroy();
    static void execute();

    static MinigameManager *GetInstance() {
        return sInstance;
    }
    static bool checkInBossRush() {
        return isInMinigameState(BOSS_RUSH);
    }
    static bool checkInFunFunIsland() {
        return isInMinigameState(FUN_FUN_ISLAND);
    }

private:
    MinigameManager() {}
    virtual ~MinigameManager() {}

    static MinigameManager *sInstance;
};

#endif