#pragma once #include #include #include #include "ClientState.h" // NetworkInterface.h - »нтерфейс дл¤ разных типов соединений namespace ZL { struct ProjectileInfo { int shooterId = -1; uint64_t clientTime = 0; Eigen::Vector3f position = Eigen::Vector3f::Zero(); Eigen::Vector3f direction = Eigen::Vector3f::Zero(); }; class INetworkClient { public: virtual ~INetworkClient() = default; virtual void Connect(const std::string& host, uint16_t port) = 0; virtual void Send(const std::string& message) = 0; virtual bool IsConnected() const = 0; virtual void Poll() = 0; // ƒл¤ обработки вход¤щих пакетов virtual std::unordered_map getRemotePlayers() = 0; virtual std::vector> getServerBoxes() = 0; virtual std::vector getPendingProjectiles() = 0; }; }