private void OnStatusMessage(object sender, NetClientHelper.StatusMessageArgs msg) { if (msg.Status == ConnectionStatus.Connected) { IsConnect = true; var loginMsg = new Msg_AgarLogin(); client.SendMessage(loginMsg); } else if (msg.Status == ConnectionStatus.Disconnected) { IsConnect = false; } }
private static bool OnProcessLogin(NetServer server, int id, NetIncomingMessage msg) { uint uid = AgarGameId; Msg_AgarLogin r = new Msg_AgarLogin(); r.R(msg); Msg_AgarLoginRsp rr = new Msg_AgarLoginRsp(); rr.Uid = uid; rr.Width = GameWidth; rr.Height = GameHeight; SendMessage(server, rr, msg.SenderConnection); // 推送之前加入的玩家数据到新玩家 var PlayerList = PlayerBallMgr.ToList(); var PlayerPackList = from p in PlayerList select Tuple.Create <uint, float, float, int, uint, string> (p.Key, p.Value.X, p.Value.Y, p.Value.Radius, p.Value.Color, p.Value.Name); var PlayerPack = new Msg_AgarPlayInfoPack(); PlayerPack.PLayerList = PlayerPackList.ToList(); SendMessage(server, PlayerPack, msg.SenderConnection); // 为新加入的玩家推送FixedBall var FixedList = FixedBallMgr.ToList(); var FixedPackList = from f in FixedList select Tuple.Create <uint, float, float, int, uint>(f.Key, f.Value.X, f.Value.Y, f.Value.Radius, f.Value.Color); var FixedPack = new Msg_AgarFixBallPack(); FixedPack.FixedList = FixedPackList.ToList(); SendMessage(server, FixedPack, msg.SenderConnection); return(true); }