Example #1
0
        protected virtual void ProcessOrderPacket(SkirmishOrderPacket packet, NetPeer sender)
        {
            _receivedPacketsPerFrame.TryGetValue(packet.Frame, out int count);
            _receivedPacketsPerFrame[packet.Frame] = count + 1;

            Logger.Trace($"  Packet count for frame {packet.Frame} is now {count + 1}");

            StorePacket(packet);
        }
Example #2
0
        protected void StorePacket(SkirmishOrderPacket packet)
        {
            _receivedPackets.Add(packet);

            if (packet.Orders.Count > 0)
            {
                Logger.Trace($"Storing packet for frame {packet.Frame} with {packet.Orders.Count} orders, count is {_receivedPackets.Count}");
            }
        }
Example #3
0
 private void DistributePacketToOtherClients(SkirmishOrderPacket packet, NetPeer sender)
 {
     _writer.Reset();
     _processor.Write(_writer, packet);
     foreach (var peer in _manager.ConnectedPeerList)
     {
         if (peer != sender)
         {
             Logger.Trace($"  Redistributing to {peer.EndPoint}");
             peer.Send(_writer, DeliveryMethod.ReliableUnordered);
         }
     }
 }
Example #4
0
        public override void Send(uint frame, List <Order> orders)
        {
            var scheduledFrame = frame + OrderSchedulingOffsetInFrames;

            base.Send(scheduledFrame, orders);

            _writer.Reset();
            var packet = new SkirmishOrderPacket()
            {
                Frame  = scheduledFrame,
                Orders = orders
            };

            _processor.Write(_writer, packet);
            _manager.SendToAll(_writer, DeliveryMethod.ReliableOrdered);
        }
Example #5
0
        public override void Send(uint frame, List <Order> orders)
        {
            var scheduledFrame = frame + OrderSchedulingOffsetInFrames;

            Logger.Trace($"Frame {frame}: Sending {orders.Count} for frame {scheduledFrame}");

            var packet = new SkirmishOrderPacket()
            {
                Frame  = scheduledFrame,
                Orders = orders
            };

            StorePacket(packet);

            _writer.Reset();
            _processor.Write(_writer, packet);
            _manager.SendToAll(_writer, DeliveryMethod.ReliableOrdered);
        }
Example #6
0
 protected override void ProcessOrderPacket(SkirmishOrderPacket packet, NetPeer sender)
 {
     DistributePacketToOtherClients(packet, sender);
     base.ProcessOrderPacket(packet, sender);
 }
Example #7
0
 private void ReceiveOrderPacket(SkirmishOrderPacket packet, NetPeer sender)
 {
     Logger.Trace($"Received packet for frame {packet.Frame} from {sender.EndPoint}");
     ProcessOrderPacket(packet, sender);
 }