#pragma once #include #include #include namespace td { namespace game { class GameHistory { private: using HistorySizeType = StepsType; std::vector> m_History; public: GameHistory(); void SetLockStep(HistorySizeType a_Index, protocol::LockStep&& a_LockStep); const protocol::LockStep& GetLockStep(HistorySizeType a_Index) const; bool HasLockStep(HistorySizeType a_Index) const; void FromPacket(td::protocol::pdata::LockSteps&& a_Steps); td::protocol::packets::LockStepsPacket ToPacket(HistorySizeType a_StartIndex); }; } // namespace game } // namespace td