X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=events.h;h=df5fcb6a9b8c8b08871f2d76ef7804a5501652f7;hb=548d2d766833cb643581cdd4884ae96da5253569;hp=545437b16d9f181c998cf707e99307b7c849b87f;hpb=67da94217a271b0b76d42c75d1a78ee5ba942825;p=pkanalytics diff --git a/events.h b/events.h index 545437b..df5fcb6 100644 --- a/events.h +++ b/events.h @@ -27,7 +27,9 @@ public: unsigned insert_event(uint64_t t, std::optional player_id, std::optional 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; } 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; } unsigned get_last_event_pos(uint64_t t) const; // Last event that happened at or before t. QModelIndex get_last_event_qt(uint64_t t) const { @@ -38,6 +40,7 @@ public: struct Status { unsigned our_score, their_score; enum { NOT_STARTED, OFFENSE, DEFENSE } attack_state; + unsigned offensive_formation, defensive_formation; bool stoppage; enum { NOT_PULLING, SHOULD_PULL, PULL_IN_AIR } pull_state; unsigned num_passes; @@ -50,6 +53,11 @@ public: std::vector sort_team(const std::set &team) const; // Ordered first by gender, then by number. void set_formation_at(uint64_t t, bool offense, unsigned formation); + // Used to notify when we've inserted a new one into the database. + void inserted_new_formation(int formation_id, const std::string &name) { + formations[formation_id] = Formation{ formation_id, name }; + } + private: struct Player { int player_id;