From bc90c73d99720fedfbc5a7887d8fcf23ad710569 Mon Sep 17 00:00:00 2001 From: Lucca Faria Ferri Date: Fri, 27 Jan 2023 09:25:58 -0800 Subject: [PATCH] SNO breakdown, small improvements. --- src/DiIiS-NA/Core/MPQ/Data.cs | 83 +++++++++++++++++++---------------- src/DiIiS-NA/Program.cs | 11 +++++ 2 files changed, 56 insertions(+), 38 deletions(-) diff --git a/src/DiIiS-NA/Core/MPQ/Data.cs b/src/DiIiS-NA/Core/MPQ/Data.cs index 28e40e1..d229589 100644 --- a/src/DiIiS-NA/Core/MPQ/Data.cs +++ b/src/DiIiS-NA/Core/MPQ/Data.cs @@ -198,47 +198,54 @@ using (StreamWriter sw = new StreamWriter(writePath, false, System.Text.Encoding this.LoadSNODict(DictSNOTutorial, SNOGroup.Tutorial); this.LoadSNODict(DictSNOWeathers, SNOGroup.Weather); this.LoadSNODict(DictSNOWorlds, SNOGroup.Worlds); - - #if DEBUG - Console.WriteLine(); - AnsiConsole.Write(new BreakdownChart() - .FullSize() - .AddItem("Accolade", DictSNOAccolade.Count, Color.Gold1) - .AddItem("Act", DictSNOAct.Count, Color.Green) - .AddItem("Actor", DictSNOActor.Count, Color.Blue) - .AddItem("Adventure", DictSNOAdventure.Count, Color.Orange4_1) - .AddItem("Ambient Sound", DictSNOAmbientSound.Count, Color.OrangeRed1) - .AddItem("Animations", DictSNOAnim.Count, Color.Orchid) - .AddItem("Animation 2D", DictSNOAnimation2D.Count, Color.BlueViolet) - .AddItem("Animation Set", DictSNOAnimSet.Count, Color.Blue3) - .AddItem("Boss Encounter", DictSNOBossEncounter.Count, Color.Aquamarine1) - .AddItem("Conversation", DictSNOConversation.Count, Color.Aquamarine1_1) - .AddItem("Effect Group", DictSNOEffectGroup.Count, Color.Yellow) - .AddItem("Encounter", DictSNOEncounter.Count, Color.Green3_1) - .AddItem("Game Balance", DictSNOGameBalance.Count, Color.GreenYellow) - .AddItem("Level Area", DictSNOLevelArea.Count, Color.Grey62) - .AddItem("Lore", DictSNOLore.Count, Color.Plum4) - .AddItem("Marker Set", DictSNOMarkerSet.Count, Color.Salmon1) - .AddItem("Monster", DictSNOMonster.Count, Color.Red) - .AddItem("Music", DictSNOMusic.Count, Color.Olive) - .AddItem("Observer", DictSNOObserver.Count, Color.Violet) - .AddItem("Phys Mesh", DictSNOPhysMesh.Count, Color.CornflowerBlue) - .AddItem("Power", DictSNOPower.Count, Color.LightPink1) - .AddItem("Quest", DictSNOQuest.Count, Color.LightGreen) - .AddItem("Quest Range", DictSNOQuestRange.Count, Color.LightGreen_1) - .AddItem("Recipe", DictSNORecipe.Count, Color.Yellow2) - .AddItem("Ropes", DictSNORopes.Count, Color.Yellow1) - .AddItem("Scene", DictSNOScene.Count, Color.DarkOrange3) - .AddItem("Skill Kit", DictSNOSkillKit.Count, Color.DeepPink4_1) - .AddItem("Tutorial", DictSNOTutorial.Count, Color.NavajoWhite3) - .AddItem("Weather", DictSNOWeathers.Count, Color.Navy) - .AddItem("Worlds", DictSNOWorlds.Count, Color.SlateBlue3_1) - ); - Console.WriteLine(); - #endif this.LoadDBCatalog(); + + SnoBreakdown(); } + public void SnoBreakdown(bool fullBreakdown = false) + { + Console.WriteLine(); + var breakdownChart = new BreakdownChart() + .FullSize() + .AddItem("Actor", DictSNOActor.Count, Color.Blue) + .AddItem("Boss Encounter", DictSNOBossEncounter.Count, Color.Aquamarine1) + .AddItem("Effect Group", DictSNOEffectGroup.Count, Color.Yellow) + .AddItem("Game Balance", DictSNOGameBalance.Count, Color.Cyan3) + .AddItem("Monster", DictSNOMonster.Count, Color.Red) + .AddItem("Power", DictSNOPower.Count, Color.LightPink1) + .AddItem("Quest", DictSNOQuest.Count, Color.Fuchsia) + .AddItem("Quest Range", DictSNOQuestRange.Count, Color.Magenta2_1) + .AddItem("Recipe", DictSNORecipe.Count, Color.Lime) + .AddItem("Scene", DictSNOScene.Count, Color.DarkOrange3) + .AddItem("Act", DictSNOAct.Count, Color.Green); + + if (fullBreakdown) + { + breakdownChart.AddItem("Accolade", DictSNOAccolade.Count, Color.Gold1) + .AddItem("Adventure", DictSNOAdventure.Count, Color.Orange4_1) + .AddItem("Ambient Sound", DictSNOAmbientSound.Count, Color.OrangeRed1) + .AddItem("Animations", DictSNOAnim.Count, Color.Orchid) + .AddItem("Animation 2D", DictSNOAnimation2D.Count, Color.BlueViolet) + .AddItem("Animation Set", DictSNOAnimSet.Count, Color.Blue3) + .AddItem("Conversation", DictSNOConversation.Count, Color.Aquamarine1_1) + .AddItem("Encounter", DictSNOEncounter.Count, Color.Green3_1) + .AddItem("Level Area", DictSNOLevelArea.Count, Color.Grey62) + .AddItem("Lore", DictSNOLore.Count, Color.Plum4) + .AddItem("Marker Set", DictSNOMarkerSet.Count, Color.Salmon1) + .AddItem("Music", DictSNOMusic.Count, Color.Olive) + .AddItem("Observer", DictSNOObserver.Count, Color.Violet) + .AddItem("Phys Mesh", DictSNOPhysMesh.Count, Color.CornflowerBlue) + .AddItem("Ropes", DictSNORopes.Count, Color.Yellow2) + .AddItem("Skill Kit", DictSNOSkillKit.Count, Color.DeepPink4_1) + .AddItem("Tutorial", DictSNOTutorial.Count, Color.NavajoWhite3) + .AddItem("Weather", DictSNOWeathers.Count, Color.Navy) + .AddItem("Worlds", DictSNOWorlds.Count, Color.SlateBlue3_1); + } + + AnsiConsole.Write(breakdownChart); + Console.WriteLine(); + } private void LoadSNODict(Dictionary DictSNO, SNOGroup group) { foreach (var point in DictSNO) diff --git a/src/DiIiS-NA/Program.cs b/src/DiIiS-NA/Program.cs index 7d6cf63..3107c42 100644 --- a/src/DiIiS-NA/Program.cs +++ b/src/DiIiS-NA/Program.cs @@ -263,11 +263,22 @@ namespace DiIiS_NA IChannel boundChannel = await b.BindAsync(DiIiS_NA.LoginServer.Config.Instance.Port); Logger.Info("$[bold red3_1]$Tip:$[/]$ graceful shutdown with $[red3_1]$CTRL+C$[/]$ or $[red3_1]$!q[uit]$[/]$ or $[red3_1]$!exit$[/]$."); + Logger.Info("$[bold red3_1]$Tip:$[/]$ SNO breakdown with $[red3_1]$!sno$[/]$ $[red]$$[/]$."); while (true) { var line = Console.ReadLine(); if (line is null or "!q" or "!quit" or "!exit") break; + if (line is "!cls" or "!clear" or "cls" or "clear") + { + Console.Clear(); + continue; + } + if (line.ToLower().StartsWith("!sno")) + { + MPQStorage.Data.SnoBreakdown(line.ToLower().Equals("!sno 1") || line.ToLower().Equals("!sno true")); + continue; + } CommandManager.Parse(line); }