コード例 #1
0
 public NetworkClient(PBEBattleFormat battleFormat, PBETeamShell teamShell)
     : base(new PBEBattle(battleFormat, teamShell.Settings), ClientMode.Online)
 {
     _teamShell = teamShell;
     _client    = new PBEClient {
         Battle = Battle
     };
     _client.Disconnected   += OnDisconnected;
     _client.Error          += OnError;
     _client.PacketReceived += OnPacketReceived;
 }
コード例 #2
0
        public NetworkClient(PBEClient client, PBEBattlePacket bp, byte battleId, string name) : base(name)
        {
            var b = new PBEBattle(bp);

            Battle = b;
            if (battleId != byte.MaxValue)
            {
                Trainer = b.Trainers[battleId];
            }
            BattleView             = new BattleView(this);
            client.Battle          = b;
            _client                = client;
            client.Disconnected   += OnDisconnected;
            client.Error          += OnError;
            client.PacketReceived += OnPacketReceived;
            Send(new PBEResponsePacket());
        }
コード例 #3
0
        private byte _battleId = byte.MaxValue; // Spectator by default

        public NetworkClientConnection(string host, ushort port, PBELegalPokemonCollection party, Action <object> action)
        {
            _party  = party;
            _action = action;
            _client = new PBEClient();
            _client.Disconnected   += OnDisconnected;
            _client.Error          += OnError;
            _client.PacketReceived += OnPacketReceived;
            if (_client.Connect(new IPEndPoint(IPAddress.Parse(host), port), 10 * 1000))
            {
                OnConnected();
            }
            else
            {
                _client.Dispose();
                action.Invoke(null);
            }
        }