From e2a36b2dc752ba851aa3c104327a6e7950b36fea Mon Sep 17 00:00:00 2001 From: Cyl18 Date: Sat, 17 Feb 2018 21:14:08 +0800 Subject: [PATCH] auto pass --- CardSharp/GameSteps/CommandParser.cs | 14 ++++++++++++++ CardSharp/MessageSenderBase.cs | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/CardSharp/GameSteps/CommandParser.cs b/CardSharp/GameSteps/CommandParser.cs index 605bab8..e5b5460 100644 --- a/CardSharp/GameSteps/CommandParser.cs +++ b/CardSharp/GameSteps/CommandParser.cs @@ -46,6 +46,7 @@ public void Parse(Desk desk, Player player, string command) return; case "结束托管": player.HostedEnabled = false; + desk.AddMessage("结束成功"); break; } @@ -136,6 +137,19 @@ public void Parse(Desk desk, Player player, string command) RunHostedCheck(desk); + RunAutoPassCheck(desk); + } + + private void RunAutoPassCheck(Desk desk) + { + var cp = desk.CurrentPlayer; + var (exists, _) = Rules.Rules.FirstMatch(cp, desk); + + if (!exists) + { + desk.AddMessageLine($"{cp.ToAtCode()} 没有检测到你想要出的牌, 已为你自动pass."); + Parse(desk, cp, "pass"); + } } private void RunHostedCheck(Desk desk) diff --git a/CardSharp/MessageSenderBase.cs b/CardSharp/MessageSenderBase.cs index 3064c0b..2a629e4 100644 --- a/CardSharp/MessageSenderBase.cs +++ b/CardSharp/MessageSenderBase.cs @@ -27,6 +27,10 @@ public void ClearMessage() [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AddMessageLine(string msg = "") { + if (!Message.EndsWith(Environment.NewLine)) + { + AddMessage(Environment.NewLine); + } AddMessage(msg + Environment.NewLine); } }