/// <summary> /// 开始战斗 三个人都准备了 由匹配房间调用 /// </summary> /// <param name="userIdList"></param> public void StartFight(List <int> userIds) { SingleExecute.Instance.Execute(() => { //创建房间 var room = fight.Creat(userIds); //发牌 foreach (var userId in userIds) { ClientPeer client = user.GetClientById(userId); List <CardDto> cardsDto = room.GetPlayerCards(userId); client.StartSend(OpCode.FIGHT, FightCode.GET_CARDS_SRES, cardsDto); } string users = string.Empty; foreach (var item in userIds) { users += (item + " --> "); } Console.WriteLine("这几个人开始了战斗 :" + users); TimerMananger.Instance.AddTimeTask((int id) => { Console.WriteLine(string.Format("当前房间id :{0} 延时任务id为:{1} ==> 延迟2秒开始抢地主。。当前执行的线程:{2}", room.id, id, Thread.CurrentThread.ManagedThreadId)); //抢地主 int firstUserId = room.GetFirstUserId(); Brocast(room, OpCode.FIGHT, FightCode.QIANG_TURN_BRO, firstUserId);//让第一个人抢地主 //再添加一个延时任务 30s后不操作自动不抢 room.autoBuQiang = TimerMananger.Instance.AddTimeTask((int intPara) => { //30秒后自动不抢 Qiang_Landlord(user.GetClientById(firstUserId), false); Console.WriteLine("自动不抢。。。"); }, 10); }, 2f); }); }