/// <summary> /// 离开 /// </summary> /// <param name="client"></param> private void leave(ClientPeer client) { SingleExecute.Instance.Execute( delegate() { if (!userCache.IsOnline(client)) { return; } int userId = userCache.GetId(client); //用户没有匹配 不能退出 非法操作 if (matchCache.IsMatching(userId) == false) { Console.WriteLine("用户没有匹配 不能退出 非法操作"); return; } //正常离开 MatchRoom room = matchCache.Leave(userId); //广播给房间内所有人 有人离开了 参数:离开的用户id room.Brocast(OpCode.MATCH, MatchCode.LEAVE_BRO, userId); Console.WriteLine("有玩家离开匹配房间"); }); }