Пример #1
0
    //离开房间
    public static void MsgLeaveRoom(ClientState c, MsgBase msgBase)
    {
        MsgLeaveRoom msg    = (MsgLeaveRoom)msgBase;
        Player       player = c.player;

        if (player == null)
        {
            return;
        }

        Room room = RoomManager.GetRoom(player.roomId);

        if (room == null)
        {
            msg.result = 1;
            player.Send(msg);
            return;
        }

        room.RemovePlayer(player.id);
        //返回协议
        msg.result    = 0;
        player.roomId = -1;
        player.Send(msgBase);
    }
Пример #2
0
        public static void MsgLeaveRoom(ClientState c, MsgBase msgBase)
        {
            MsgLeaveRoom msg  = (MsgLeaveRoom)msgBase;
            User         user = c.user;

            if (user == null)
            {
                return;
            }

            Room room = RoomManager.GetRoom(user.RoomId);

            if (room == null)
            {
                return;
            }

            bool delete = room.RemoveUser(user.Userid);

            if (!delete)
            {
                Console.WriteLine("离开房间异常");
                return;
            }
            //返回协议
            user.RoomId = -1;
            msg.code    = HttpStatusCode.OK;
            msg.result  = JsonConvert.SerializeObject(room);
            room.Broadcast(msg);
        }
Пример #3
0
        private static void OnLeaveRoom(MsgBase msgBase)
        {
            MsgLeaveRoom msg = (MsgLeaveRoom)msgBase;

            if (msg.code == HttpStatusCode.OK)
            {
                RoomDetailScence roomDetailScence = ContainerBuilder.Resolve <RoomDetailScence>();
                roomDetailScence.Room = JsonConvert.DeserializeObject <Room>(msg.result);
            }
            else
            {
                Console.WriteLine(msg.result);
            }
        }
Пример #4
0
    //收到退出房间协议
    public void OnMsgLeaveRoom(MsgBase msgBase)
    {
        MsgLeaveRoom msg = (MsgLeaveRoom)msgBase;

        //成功退出房间
        if (msg.result == 0)
        {
            //PanelManager.Open<TipPanel>("退出房间");
            PanelManager.Open <RoomListPanel>();
            Close();
        }
        //退出房间失败
        else
        {
            PanelManager.Open <TipPanel>("退出房间失败");
        }
    }
Пример #5
0
    //点击退出按钮
    public void OnCloseClick()
    {
        MsgLeaveRoom msg = new MsgLeaveRoom();

        NetManager.Send(msg);
    }