コード例 #1
0
    /// <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();
    }
コード例 #2
0
    /// <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);
        }
    }
コード例 #3
0
 /// <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);
 }