#pragma once #include #include #include namespace td { namespace client { class GameState : public ClientState { private: std::shared_ptr m_World; sim::ClientSimulation m_Simulation; float m_CurrentLerp; public: GameState(Client& a_Client, const std::shared_ptr& a_World, std::uint64_t a_StepTime); ~GameState() {} virtual void Update(float a_Delta) override; float GetCurrentLerp() const { return m_CurrentLerp; } protected: virtual void HandlePacket(const protocol::PacketBase& a_Packet) override; }; } // namespace client } // namespace td