using System.Net; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Networking.Types; public class PiaNetworkTransport : INetworkTransport { public bool IsStarted => NetworkTransport.IsStarted; public int AddHost(HostTopology topology, int port, string ip) { Debug.LogFormat($"PiaNetworkTransport::AddHost: topology: {0}, port: {1}, ip: {2}", topology.ToString(), port, ip); return NetworkTransport.AddHost(topology, 7777, "localhost"); } public int AddHostWithSimulator(HostTopology topology, int minTimeout, int maxTimeout, int port) { return NetworkTransport.AddHostWithSimulator(topology, minTimeout, maxTimeout, port); } public int AddWebsocketHost(HostTopology topology, int port, string ip) { return NetworkTransport.AddWebsocketHost(topology, port, ip); } public int Connect(int hostId, string address, int port, int specialConnectionId, out byte error) { return NetworkTransport.Connect(hostId, address, port, specialConnectionId, out error); } public void ConnectAsNetworkHost(int hostId, string address, int port, NetworkID network, SourceID source, NodeID node, out byte error) { NetworkTransport.ConnectAsNetworkHost(hostId, address, port, network, source, node, out error); } public int ConnectEndPoint(int hostId, EndPoint endPoint, int specialConnectionId, out byte error) { return NetworkTransport.ConnectEndPoint(hostId, endPoint, specialConnectionId, out error); } public int ConnectToNetworkPeer(int hostId, string address, int port, int specialConnectionId, int relaySlotId, NetworkID network, SourceID source, NodeID node, out byte error) { return NetworkTransport.ConnectToNetworkPeer(hostId, address, port, specialConnectionId, relaySlotId, network, source, node, out error); } public int ConnectWithSimulator(int hostId, string address, int port, int specialConnectionId, out byte error, ConnectionSimulatorConfig conf) { return NetworkTransport.ConnectWithSimulator(hostId, address, port, specialConnectionId, out error, conf); } public bool Disconnect(int hostId, int connectionId, out byte error) { return NetworkTransport.Disconnect(hostId, connectionId, out error); } public bool DoesEndPointUsePlatformProtocols(EndPoint endPoint) { return true; } public void GetBroadcastConnectionInfo(int hostId, out string address, out int port, out byte error) { NetworkTransport.GetBroadcastConnectionInfo(hostId, out address, out port, out error); } public void GetBroadcastConnectionMessage(int hostId, byte[] buffer, int bufferSize, out int receivedSize, out byte error) { NetworkTransport.GetBroadcastConnectionMessage(hostId, buffer, bufferSize, out receivedSize, out error); } public void GetConnectionInfo(int hostId, int connectionId, out string address, out int port, out NetworkID network, out NodeID dstNode, out byte error) { NetworkTransport.GetConnectionInfo(hostId, connectionId, out address, out port, out network, out dstNode, out error); } public int GetCurrentRTT(int hostId, int connectionId, out byte error) { return NetworkTransport.GetCurrentRTT(hostId, connectionId, out error); } public void Init() { NetworkTransport.Init(); } public void Init(GlobalConfig config) { NetworkTransport.Init(config); } public NetworkEventType Receive(out int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error) { return NetworkTransport.Receive(out hostId, out connectionId, out channelId, buffer, bufferSize, out receivedSize, out error); } public NetworkEventType ReceiveFromHost(int hostId, out int connectionId, out int channelId, byte[] buffer, int bufferSize, out int receivedSize, out byte error) { return NetworkTransport.ReceiveFromHost(hostId, out connectionId, out channelId, buffer, bufferSize, out receivedSize, out error); } public NetworkEventType ReceiveRelayEventFromHost(int hostId, out byte error) { return NetworkTransport.ReceiveRelayEventFromHost(hostId, out error); } public bool RemoveHost(int hostId) { return NetworkTransport.RemoveHost(hostId); } public bool Send(int hostId, int connectionId, int channelId, byte[] buffer, int size, out byte error) { return NetworkTransport.Send(hostId, connectionId, channelId, buffer, size, out error); } public void SetBroadcastCredentials(int hostId, int key, int version, int subversion, out byte error) { NetworkTransport.SetBroadcastCredentials(hostId, key, version, subversion, out error); } public void SetPacketStat(int direction, int packetStatId, int numMsgs, int numBytes) { NetworkTransport.SetPacketStat(direction, packetStatId, numMsgs, numBytes); } public void Shutdown() { NetworkTransport.Shutdown(); } public bool StartBroadcastDiscovery(int hostId, int broadcastPort, int key, int version, int subversion, byte[] buffer, int size, int timeout, out byte error) { return NetworkTransport.StartBroadcastDiscovery(hostId, broadcastPort, key, version, subversion, buffer, size, timeout, out error); } public void StopBroadcastDiscovery() { NetworkTransport.StopBroadcastDiscovery(); } }