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); }
public void OnDataMessage(object sender, NetIncomingMessage im) { if (DataMessage != null) { int id = im.ReadInt32(); if (id == MsgId.ChatToAll) { MsgBase msg = new Msg_ChatToAll(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AccountRegRsp) { MsgBase msg = new Msg_AccountRegRsp(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarLoginRsp) { MsgBase msg = new Msg_AgarLoginRsp(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarFixedBall) { MsgBase msg = new Msg_AgarFixedBall(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarPlayInfo) { MsgBase msg = new Msg_AgarPlayInfo(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarFixBallPack) { MsgBase msg = new Msg_AgarFixBallPack(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarPlayInfoPack) { MsgBase msg = new Msg_AgarPlayInfoPack(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarSelf) { MsgBase msg = new Msg_AgarSelf(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.AgarMarkListPark) { MsgBase msg = new Msg_AgarMarkListPack(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.HappyPlayerLoginRsp) { MsgBase msg = new Msg_HappyPlayerLoginRsp(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.HappyOtherPlayerLogin) { MsgBase msg = new Msg_HappyOtherPlayerLogin(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.HappyPlayerMove) { MsgBase msg = new Msg_HappyPlayerMove(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.HappyPlayerQuit) { MsgBase msg = new Msg_HappyPlayerQuit(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } else if (id == MsgId.HappyPlayerPack) { MsgBase msg = new Msg_HappyPlayerPack(); msg.R(im); DataMessage(sender, new DataMessageArgs(msg)); } } }