public SkirmishManager(Game game, bool isHosting) { _game = game; IsHosting = isHosting; Settings = new SkirmishGameSettings(isHosting); }
public HostNetworkConnection(SkirmishGameSettings game) : base(game) { _listener.ConnectionRequestEvent += request => { Logger.Trace($"Accepting connection from {request.RemoteEndPoint}"); var peer = request.Accept(); Logger.Trace($"Accept result: {peer}"); }; }
public NetworkConnection(SkirmishGameSettings game) { _numberOfOtherPlayers = game.Slots.Count(s => s.State == SkirmishSlotState.Human) - 1; _listener = new EventBasedNetListener(); _manager = new NetManager(_listener); if (Debugger.IsAttached) { _manager.DisconnectTimeout = 600000; } _listener.PeerConnectedEvent += peer => Logger.Trace($"{peer.EndPoint} connected"); _listener.PeerDisconnectedEvent += (peer, info) => Logger.Trace($"{peer.EndPoint} disconnected with reason {info.Reason}"); _listener.NetworkReceiveEvent += (NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod) => _processor.ReadAllPackets(reader, peer); _writer = new NetDataWriter(); _processor = new NetPacketProcessor(); _processor.RegisterNestedType <Order>(WriteOrder, ReadOrder); _processor.Subscribe <SkirmishOrderPacket, NetPeer>(ReceiveOrderPacket, () => new SkirmishOrderPacket()); }
public ClientNetworkConnection(SkirmishGameSettings game) : base(game) { _hostAddress = game.Slots[0].EndPoint.Address; }