From 810a4fa8fcaa79174cc40664fae2b266467c6e3a Mon Sep 17 00:00:00 2001 From: timerix Date: Wed, 5 Apr 2023 21:56:41 +0600 Subject: [PATCH] YesAll --- paradox-mod-merger/Merge.cs | 21 ++++++++++++++++---- paradox-mod-merger/Program.cs | 8 +++++++- paradox-mod-merger/paradox-mod-merger.csproj | 5 +++-- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/paradox-mod-merger/Merge.cs b/paradox-mod-merger/Merge.cs index 2f9d19d..679b9ea 100644 --- a/paradox-mod-merger/Merge.cs +++ b/paradox-mod-merger/Merge.cs @@ -58,10 +58,23 @@ static class Merge public static void ConsoleAskYN(string question, Action? yes, Action? no) { - Log("y", question + " [y/n]"); - string answ = ColoredConsole.Read("w").ToLower(); - if (answ == "y") yes?.Invoke(); - else no?.Invoke(); + while (true) + { + Log("y", question + " [y/n]"); + string answ = Program.YesAll ? "y" : ColoredConsole.Read("w").ToLower(); + if (answ == "y") + { + Log("c",$"answer: {answ}"); + yes?.Invoke(); + break; + } + if (answ == "n") { + Log("c",$"answer: {answ}"); + no?.Invoke(); + break; + } + Log("r", $"incorrect answer: {answ}"); + } } static void HandleConflicts(IOPath[] moddirs) diff --git a/paradox-mod-merger/Program.cs b/paradox-mod-merger/Program.cs index aa43e86..ae7d2a9 100644 --- a/paradox-mod-merger/Program.cs +++ b/paradox-mod-merger/Program.cs @@ -16,6 +16,8 @@ public static class Program { static ConsoleLogger logger = new($"logs", "main"); static void Log(params string[] msg) => logger.Log(msg); + + public static bool YesAll = false; static int Main(string[] args) { @@ -28,10 +30,14 @@ public static class Program new LaunchArgumentParser( new LaunchArgument(new []{"o", "out"}, - "sets output path", + "Sets output path", p => outPath=p, "out_path", 0), + new LaunchArgument(new []{"y", "yes-all"}, + "Automatically answers [Y] to all questions", + ()=> YesAll=true, + 0), new LaunchArgument(new []{"clear"}, "Clear mod files and put them into separate dirs in output dir. Requires -o", wdir=>Workshop.ClearWorkshop(wdir, outPath), diff --git a/paradox-mod-merger/paradox-mod-merger.csproj b/paradox-mod-merger/paradox-mod-merger.csproj index cf0adcd..270114f 100644 --- a/paradox-mod-merger/paradox-mod-merger.csproj +++ b/paradox-mod-merger/paradox-mod-merger.csproj @@ -6,20 +6,21 @@ ParadoxModMerger paradox-mod-merger 10 + enable - + - +