1 #ifndef BLANK_CLIENT_NETWORKEDINPUT_HPP_
2 #define BLANK_CLIENT_NETWORKEDINPUT_HPP_
4 #include "../ui/PlayerController.hpp"
6 #include "../world/EntityState.hpp"
18 : public PlayerController {
21 explicit NetworkedInput(World &, Player &, Client &);
23 void Update(Entity &, float dt) override;
24 void PushPlayerUpdate(int dt);
25 void MergePlayerCorrection(std::uint16_t, const EntityState &);
27 void StartPrimaryAction() override;
28 void StopPrimaryAction() override;
29 void StartSecondaryAction() override;
30 void StopSecondaryAction() override;
31 void StartTertiaryAction() override;
32 void StopTertiaryAction() override;
37 struct PlayerHistory {
42 PlayerHistory(EntityState s, const glm::vec3 &mv, float dt, std::uint16_t p)
43 : state(s), movement(mv), delta_t(dt), packet(p) { }
45 std::list<PlayerHistory> player_hist;