public bool HandlePacket(Peer peer, byte[] data, Game game) { var loadInfo = new PingLoadInfo(data); var peerInfo = game.GetPeerInfo(peer); if (peerInfo == null) { return(false); } var response = new PingLoadInfo(loadInfo, peerInfo.UserId); //Logging->writeLine("loaded: %f, ping: %f, %f", loadInfo->loaded, loadInfo->ping, loadInfo->f3); return(game.PacketHandlerManager.broadcastPacket(response, Channel.CHL_LOW_PRIORITY, PacketFlags.None)); }
private void OnSyncVersionAns(byte[] packet, Channel channel) { if (!_gameStarted) { var answer = Serialize <SynchVersionAns>(packet); //Log.Write("Setting up for game mode: {0}", answer.GameMode); _isOdin = answer.GameMode.Equals("ODIN"); // yay linq! var player = answer.players.ToList().Find(p => p.userId == _mySummonerId); _isOrder = player.teamId == 0x64; Send(Deserialize <PacketHeader>(PacketHeader.Create(PacketCommand.C2S_ClientReady, 0)), Channel.LoadingScreen); var ping = PingLoadInfo.Create(100, 2, _mySummonerId); Send(Deserialize <PingLoadInfo>(ping)); Send(Deserialize <PacketHeader>(PacketHeader.Create(PacketCommand.C2S_CharLoaded, 0))); Send(Deserialize <StartGame>(StartGame.Create())); } }