- void PushPlayerUpdate(const Entity &);
- void MergePlayerCorrection(std::uint16_t, const EntityState &);
+ void Handle(const Packet::SpawnEntity &);
+ void Handle(const Packet::DespawnEntity &);
+ void Handle(const Packet::EntityUpdate &);
+ void Handle(const Packet::PlayerCorrection &);
+ void Handle(const Packet::BlockUpdate &);
+
+ void SetAudio(bool) override;
+ void SetVideo(bool) override;
+ void SetHUD(bool) override;
+ void SetDebug(bool) override;
+ void Exit() override;
+
+private:
+ /// flag entity as updated by given packet
+ /// returns false if the update should be ignored
+ bool UpdateEntity(std::uint32_t id, std::uint16_t seq);
+ /// drop update information or given entity
+ void ClearEntity(std::uint32_t id);