prop placer life support - WE'RE NOT DONE HERE (#458)

CLAYYYYYYY!!!!!
This commit is contained in:
FreezeDriedMangos 2022-12-05 22:17:27 -05:00 committed by GitHub
commit a6b74bcb80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 40 deletions

View File

@ -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;
@ -527,32 +529,13 @@ 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]"
)
);
{
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)
{

View File

@ -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]");
}
}

View File

@ -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<ShipLogEntryCard>()
.Select(go =>
"{ \"id\": \"" +go.name+ "\", \"position\": {\"x\": "+go.transform.localPosition.x+", \"y\": "+go.transform.localPosition.y+" } "
)
);
}
private string GetEntryPositionsJSON() =>
Resources
.FindObjectsOfTypeAll<ShipLogEntryCard>()
.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)
{