/// <summary> /// 确保指定的玩家已经准备好 /// </summary> /// <param name="player">要确认准备状态的玩家</param> /// <param name="token">取消标识</param> /// <returns>获取一个 Task 用于等待玩家确认准备状态</returns> private async Task EnsureAlready(CardGamePlayer player, CancellationToken token) { player.PlayerHost.WriteSystemMessage("游戏即将开始,在游戏进行中请不要关闭客户端或浏览器。"); var option = await player.PlayerHost.Console.Choose(null, new[] { new Option("准备好了", "准备好可以进行游戏"), new Option("退出游戏", "退出这个游戏") }, token); if (option.Name == "准备好了") { AnnounceSystemMessage("{0} 已经准备好", player.PlayerName); } else if (option.Name == "退出游戏") { player.QuitGame(); } }