public static void SendToServerOnly(NetworkPacket Packet, QosType QualityOfServiceType) { Packet.SetPacketTarget(PacketTargets.ServerOnly); #if SERVER NetworkPacketReader.ReadPacket(Packet, NetworkDetails.GetLocalConnectionID(), true); #else ClientNetworkManager.Instance.SendPacketToServer(Packet, QualityOfServiceType); #endif }
public static void SendPacketToAllPlayers(NetworkPacket Packet, QosType QualityOfServiceType, bool ShouldServerReadPacket) { #if SERVER if (ShouldServerReadPacket) { NetworkPacketReader.ReadPacket(Packet, NetworkDetails.GetLocalConnectionID(), true); } NetworkManager.Instance.SendPacketToAllClients(Packet, NetworkManager.Instance.GetChannel(QualityOfServiceType)); #else Packet.SetPacketTarget(PacketTargets.RelayToAllClients); ClientNetworkManager.Instance.SendPacketToServer(Packet, QualityOfServiceType); #endif }
public Player SpawnPlayer(int ConnectionID) { #if SERVER return(SpawnServerPlayer(ConnectionID)); #else if (ConnectionID == NetworkDetails.GetLocalConnectionID()) { return(SpawnControllerablePlayer(ConnectionID)); } return(SpawnNormalPlayer(ConnectionID)); #endif }
public static void RelayPacketToPlayersInRoom(NetworkPacket Packet, Room TargetRoom, QosType QualityOfServiceType, bool ShouldServerReadPacket) { #if SERVER if (ShouldServerReadPacket) { NetworkPacketReader.ReadPacket(Packet, NetworkDetails.GetLocalConnectionID(), true); } Packet.SetIsTargetRoom(false); int[] PlayerConnectionIDs = TargetRoom.GetPlayersInRoom(); for (int i = 0; i < PlayerConnectionIDs.Length; i++) { Packet.SetPacketTarget(PlayerConnectionIDs[i]); NetworkManager.Instance.SendPacketToClient(Packet, QualityOfServiceType); } #else Packet.SetPacketTarget(TargetRoom.GetRoomIndex()); Packet.SetIsTargetRoom(true); ClientNetworkManager.Instance.SendPacketToServer(Packet, QualityOfServiceType); #endif }