]> git.sesse.net Git - pkanalytics/blobdiff - events.h
Store event types internally as an enum.
[pkanalytics] / events.h
index df5fcb6a9b8c8b08871f2d76ef7804a5501652f7..f522734261e5334a675cade7c965dae806f1e4e8 100644 (file)
--- a/events.h
+++ b/events.h
@@ -9,6 +9,36 @@
 #include <optional>
 #include <set>
 
+enum class EventType {
+       CATCH,
+       DEFENSE,
+       DEFENSIVE_SOFT_MINUS,
+       DEFENSIVE_SOFT_PLUS,
+       FORMATION_DEFENSE,
+       FORMATION_OFFENSE,
+       DROP,
+       GOAL,
+       IN,
+       INTERCEPTION,
+       OFFENSIVE_SOFT_MINUS,
+       OFFENSIVE_SOFT_PLUS,
+       OUT,
+       PULL,
+       PULL_LANDED,
+       PULL_OOB,
+       RESTART,
+       SET_DEFENSE,
+       SET_OFFENSE,
+       STALLOUT,
+       STOPPAGE,
+       THEIR_GOAL,
+       THEIR_PULL,
+       THEIR_THROWAWAY,
+       THROWAWAY,
+       UNKNOWN,
+       WAS_D,
+};
+
 class EventsModel : public QAbstractTableModel
 {
 public:
@@ -27,7 +57,7 @@ public:
 
        unsigned insert_event(uint64_t t, std::optional<int> player_id, std::optional<int> formation_id, const std::string &type = "unknown");  // Returns the row.
        void delete_event(unsigned row);
-       std::string get_event_type(unsigned row) { return events[row].type; }
+       EventType get_event_type(unsigned row) { return events[row].type; }
        void set_event_type(unsigned row, const std::string &type);
        void set_event_formation(unsigned row, int formation_id);
        uint64_t get_time(unsigned row) { return events[row].t; }
@@ -78,7 +108,7 @@ private:
                uint64_t t;
                std::optional<int> player_id;
                std::optional<int> formation_id;
-               std::string type;
+               EventType type;
        };
        std::vector<Event> events;