about summary refs log tree commit diff stats
path: root/ap_state.h
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-05-02 20:14:43 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-05-02 20:14:43 -0400
commit70f1c629a6e08e0f9c58707f0470e08c6ffeca34 (patch)
treea2262b898f02c551d3de298ffbd61505cdd384d2 /ap_state.h
parent09d67fbad9df92caf2251d36b4abd7979fd27126 (diff)
downloadlingo-ap-tracker-70f1c629a6e08e0f9c58707f0470e08c6ffeca34.tar.gz
lingo-ap-tracker-70f1c629a6e08e0f9c58707f0470e08c6ffeca34.tar.bz2
lingo-ap-tracker-70f1c629a6e08e0f9c58707f0470e08c6ffeca34.zip
Added reachability checking (only no doors rn)
Diffstat (limited to 'ap_state.h')
-rw-r--r--ap_state.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/ap_state.h b/ap_state.h index b5a94e3..d818b40 100644 --- a/ap_state.h +++ b/ap_state.h
@@ -11,6 +11,8 @@
11#include "game_data.h" 11#include "game_data.h"
12#include "tracker_frame.h" 12#include "tracker_frame.h"
13 13
14enum class DoorShuffleMode { kNone, kSimple, kComplex };
15
14class APState { 16class APState {
15 public: 17 public:
16 APState(); 18 APState();
@@ -23,9 +25,17 @@ class APState {
23 25
24 bool HasCheckedGameLocation(int area_id, int section_id) const; 26 bool HasCheckedGameLocation(int area_id, int section_id) const;
25 27
28 bool HasColorItem(LingoColor color) const;
29
30 DoorShuffleMode GetDoorShuffleMode() const { return door_shuffle_mode_; }
31
32 bool IsColorShuffle() const { return color_shuffle_; }
33
26 private: 34 private:
27 void RefreshTracker(); 35 void RefreshTracker();
28 36
37 int64_t GetItemId(const std::string& item_name);
38
29 TrackerFrame* tracker_frame_; 39 TrackerFrame* tracker_frame_;
30 40
31 std::unique_ptr<APClient> apclient_; 41 std::unique_ptr<APClient> apclient_;
@@ -39,6 +49,9 @@ class APState {
39 std::map<int, int64_t> ap_id_by_door_id_; 49 std::map<int, int64_t> ap_id_by_door_id_;
40 std::map<int, int64_t> ap_id_by_door_group_id_; 50 std::map<int, int64_t> ap_id_by_door_group_id_;
41 std::map<LingoColor, int64_t> ap_id_by_color_; 51 std::map<LingoColor, int64_t> ap_id_by_color_;
52
53 DoorShuffleMode door_shuffle_mode_ = DoorShuffleMode::kNone;
54 bool color_shuffle_ = false;
42}; 55};
43 56
44APState& GetAPState(); 57APState& GetAPState();