コード例 #1
0
ファイル: VNetClient.cs プロジェクト: wardinsky/VNet
        public void SendPacketToMulti()
        {
            for (int i = 0; i <= m_packetQueueIndex; i++)
            {
                if (i == VNetCommon.NET_PACKET_QUEUE_SIZE)
                {
                    break;
                }
                VNetPacket packet = m_packetOutQueue[i];
                if (packet.header.numMessages == 0)
                {
                    return;
                }

                packet.header.clientUID = VNet.Inst.GetUID();
                packet.header.lastReliablePacketRecvd = -1;
                packet.header.sessionUID      = VNetSession.Inst.GetSessionUID();
                packet.header.identHeader     = VNetManager.Inst.GUIDHeader;
                packet.header.parentEndianess = VNetPlatform.GetEndianValue();

                // End a packet if it is the last one this frame
                if (i == m_packetQueueIndex)
                {
                    packet.EndPacket();
                }

                VNet.Inst.SendOnMultiLink(packet);
                m_clientBandwidth.AddToBandwidth(packet.header.dataLength + VNetPacketHeader.SizeOf(), packet.header.origLength + VNetPacketHeader.SizeOf());
                packet.Clear();
            }
            m_packetQueueIndex = 0;
            ResetTimeToSend();
        }
コード例 #2
0
ファイル: VNetClient.cs プロジェクト: wardinsky/VNet
 public void SetOutgoingPacketHeader(VNetPacket packet)
 {
     packet.IP_Port                        = m_ipEndpoint;
     packet.header.clientUID               = VNet.Inst.GetUID();
     packet.header.sessionUID              = VNetSession.Inst.GetSessionUID();
     packet.header.identHeader             = VNetManager.Inst.GUIDHeader;
     packet.header.lastReliablePacketRecvd = m_lastReliableRecvdIndex;
     packet.header.parentEndianess         = VNetPlatform.GetEndianValue();
 }