Пример #1
0
        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;
        }
Пример #2
0
 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));
         }
     }
 }