Exemplo n.º 1
0
        public void SendPacket(NetWrapOutgoingMessage msg, long connectionId, NetWrapOrdering delivery = NetWrapOrdering.ReliableOrdered, int sequenceChannel = 0)
        {
            if (m_valid == false)
            {
                return;
            }

            var flags = ENet.PacketFlags.None;

            if ((int)delivery >= 30)
            {
                flags |= ENet.PacketFlags.Reliable;
            }
            if (delivery == NetWrapOrdering.ReliableUnordered)
            {
                flags |= ENet.PacketFlags.Unsequenced;
            }

            msg.ConnectionId = connectionId;
            msg.Flags        = flags;
            using (MonitorLock.CreateLock(m_outgoingPacketListLocks[(m_currentOutgoingPacketListIndex + 1) % 2]))
            {
                m_outgoingPacketLists[(m_currentOutgoingPacketListIndex + 1) % 2].Add(msg);
            }
        }
Exemplo n.º 2
0
        public void SendRPC(List <object> RPCObject, List <long> connectionIds, NetWrapOrdering delivery = NetWrapOrdering.ReliableOrdered, int sequenceChannel = 0)
        {
            if (connectionIds.Count == 0)
            {
                return;
            }

            SendPacket(CreateRPCPacket(RPCObject), connectionIds, delivery, sequenceChannel);
        }
Exemplo n.º 3
0
        public void SendPacket(NetWrapOutgoingMessage msg, NetWrapOrdering ordering = NetWrapOrdering.ReliableOrdered)
        {
            if (!CanSend)
            {
                return;
            }

            SendPacket(msg, ServerConnectionId, ordering);
        }
Exemplo n.º 4
0
        public void SendRPC(object obj, NetWrapOrdering ordering = NetWrapOrdering.ReliableOrdered)
        {
            if (!CanSend)
            {
                return;
            }

            SendPacket(CreateRPCPacket(obj), ordering);
        }
Exemplo n.º 5
0
        public void BroadCastRPC(object RPCObject, List <long> exclusionIds, NetWrapOrdering delivery = NetWrapOrdering.ReliableOrdered, int sequenceChannel = 0)
        {
            List <long> sendIds = new List <long>();

            foreach (var connection in m_connections)
            {
                if (!exclusionIds.Contains(connection.Key))
                {
                    sendIds.Add(connection.Key);
                }
            }
            SendRPC(RPCObject, sendIds, delivery, sequenceChannel);
        }
Exemplo n.º 6
0
 public void SendRPC(List <object> RPCObject, int connectionId, NetWrapOrdering delivery = NetWrapOrdering.ReliableOrdered, int sequenceChannel = 0)
 {
     SendPacket(CreateRPCPacket(RPCObject), connectionId, delivery, sequenceChannel);
 }