diff --git a/NewHorizons/Utility/DebugMenu/DebugMenuNomaiText.cs b/NewHorizons/Utility/DebugMenu/DebugMenuNomaiText.cs index cc1f237c..99843836 100644 --- a/NewHorizons/Utility/DebugMenu/DebugMenuNomaiText.cs +++ b/NewHorizons/Utility/DebugMenu/DebugMenuNomaiText.cs @@ -1,7 +1,9 @@ +using HarmonyLib; using NewHorizons.Builder.Props; using NewHorizons.External.Configs; using NewHorizons.External.Modules; using NewHorizons.Utility.DebugUtilities; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -234,7 +236,7 @@ namespace NewHorizons.Utility.DebugMenu DebugNomaiTextPlacer.active = false; }; } - + // // spirals // @@ -526,33 +528,14 @@ namespace NewHorizons.Utility.DebugMenu { var conversationsJSON = conversations .GroupBy(conversation => conversation.planetConfig.name) - .Select(allConversationsOnBody => - allConversationsOnBody.Key + - "\n[" + - allConversationsOnBody.Select(conversation => - "\t{\n" + - $"\t\t\"position\": {conversation.conversation.position},\n" + - $"\t\t\"normal\": {conversation.conversation.normal},\n" + - (conversation.conversation.parentPath == default ? "" : $"\t\t\"parentPath\": \"{conversation.conversation.parentPath}\",\n") + - (conversation.conversation.location == NomaiTextInfo.NomaiTextLocation.UNSPECIFIED ? "" : $"\t\t\"location\": {conversation.conversation.location},\n") + - (conversation.conversation.rotation == default ? "" : $"\t\t\"rotation\": {conversation.conversation.rotation},\n") + - (conversation.conversation.rename == default ? "" : $"\t\t\"rename\": \"{conversation.conversation.rename}\",\n") + - (conversation.conversation.seed == default ? "" : $"\t\t\"seed\": {conversation.conversation.seed},\n") + - (conversation.conversation.type == NomaiTextInfo.NomaiTextType.Wall ? "" : $"\t\t\"type\": \"{conversation.conversation.type}\",\n") + - $"\t\t\"xmlFile\": \"{conversation.conversation.xmlFile}\",\n" + - "\t\t\"arcInfo\": [\n" + - string.Join(",\n", conversation.spirals.Select(spiral => - "\t\t\t{" + - $"\"position\": {spiral.spiral.position}, " + - $"\"zRotation\": {spiral.spiral.zRotation}, " + - (spiral.spiral.mirror == default ? "" : $"\"mirror\": {spiral.spiral.mirror}, ") + - (spiral.spiral.type == NomaiTextArcInfo.NomaiTextArcType.Adult ? "" : $"\"type\": \"{spiral.spiral.type}\", ") + - (spiral.spiral.variation == -1 ? "" : $"\"variation\": {spiral.spiral.variation}") + - "}" - )) + - "\t\t]" - ) - ); + .Select(allConversationsOnBody => + { + var json = allConversationsOnBody.Join( + conversation => "\t" + JsonConvert.SerializeObject(conversation.conversation, DebugMenu.jsonSettings), + ",\n" + ); + return $"{allConversationsOnBody.Key}\n[\n{json}\n]"; + }); foreach(string json in conversationsJSON) { diff --git a/NewHorizons/Utility/DebugMenu/DebugMenuPropPlacer.cs b/NewHorizons/Utility/DebugMenu/DebugMenuPropPlacer.cs index 1e35f040..e6f5d8fe 100644 --- a/NewHorizons/Utility/DebugMenu/DebugMenuPropPlacer.cs +++ b/NewHorizons/Utility/DebugMenu/DebugMenuPropPlacer.cs @@ -1,3 +1,4 @@ +using HarmonyLib; using NewHorizons.External.Configs; using NewHorizons.External.Modules; using NewHorizons.Utility.DebugUtilities; @@ -388,9 +389,12 @@ namespace NewHorizons.Utility.DebugMenu internal override void PrintNewConfigSection(DebugMenu menu) { - foreach(var body in _dpp.GetPropsConfigByBody()) + foreach (var body in _dpp.GetPropsConfigByBody()) { - var json = string.Join(",\n", body.Value.Select(detail => "\t"+ JsonConvert.SerializeObject(detail, DebugMenu.jsonSettings))); + var json = body.Value.Join( + detail => "\t" + JsonConvert.SerializeObject(detail, DebugMenu.jsonSettings), + ",\n" + ); Logger.Log($"{body.Key.name} ({body.Value.Length})\n[\n{json}\n]"); } } diff --git a/NewHorizons/Utility/DebugMenu/DebugMenuShipLogs.cs b/NewHorizons/Utility/DebugMenu/DebugMenuShipLogs.cs index 3ce5a468..fdb27b3e 100644 --- a/NewHorizons/Utility/DebugMenu/DebugMenuShipLogs.cs +++ b/NewHorizons/Utility/DebugMenu/DebugMenuShipLogs.cs @@ -1,4 +1,7 @@ +using HarmonyLib; using NewHorizons.External.Configs; +using NewHorizons.External.Modules; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -35,16 +38,17 @@ namespace NewHorizons.Utility.DebugMenu { } - private string GetEntryPositionsJSON() - { - return string.Join(",\n", - Resources - .FindObjectsOfTypeAll() - .Select(go => - "{ \"id\": \"" +go.name+ "\", \"position\": {\"x\": "+go.transform.localPosition.x+", \"y\": "+go.transform.localPosition.y+" } " - ) - ); - } + private string GetEntryPositionsJSON() => + Resources + .FindObjectsOfTypeAll() + .Join( + entry => JsonConvert.SerializeObject(new ShipLogModule.EntryPositionInfo + { + id = entry.name, + position = new MVector2(entry.transform.localPosition.x, entry.transform.localPosition.y) + }, DebugMenu.jsonSettings), + ",\n" + ); internal override void OnGUI(DebugMenu menu) {