/// <summary> /// Send packet to all from list /// </summary> public void SendPacketToAllFromListJob ( ulong[] list, RakNet_Packet packet, PacketPriority priority = PacketPriority.IMMEDIATE_PRIORITY, PacketReliability reliability = PacketReliability.RELIABLE, NetChannel channel = NetChannel.NET_EVENTS ) { if (server_peer.state != PeerState.RunAsServer) { return; } if (!packet.begin_write || !packet.end_write) { Debug.LogError("Can't send packet! Check Begin & End packet"); return; } _SendPacketToAllJob a = new _SendPacketToAllJob(); a.peer = (ulong)server_peer.ptr; a.p = priority; a.r = reliability; a.c = channel; a.array = new NativeArray <ulong>(list, Allocator.TempJob); JobHandle jobHandle = a.Schedule(list.Length, 64); jobHandle.Complete(); a.array.Dispose(); }
/// <summary> /// Send packet to all /// </summary> public void SendPacketToAll ( RakNet_Packet packet, PacketPriority priority = PacketPriority.IMMEDIATE_PRIORITY, PacketReliability reliability = PacketReliability.RELIABLE, NetChannel channel = NetChannel.NET_EVENTS ) { if (server_peer.state != PeerState.RunAsServer) { return; } if (!packet.begin_write || !packet.end_write) { Debug.LogError("Can't send packet! Check Begin & End packet"); return; } for (int i = 0; i < connections.Count; i++) { server_peer.SendToClient(connections[i].guid, priority, reliability, channel); } }
/// <summary> /// Send packet to target /// </summary> public void SendPacket ( RakNet_Packet packet, ulong guid, PacketPriority priority = PacketPriority.IMMEDIATE_PRIORITY, PacketReliability reliability = PacketReliability.RELIABLE, NetChannel channel = NetChannel.NET_EVENTS ) { packet.SendToClient(guid, priority, reliability, channel); }