From 0fa7cfe2c528bbf9cb3bd598395c04d4dd3df39f Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Fri, 14 Feb 2025 21:15:53 -0800 Subject: [PATCH] test both remove children methods --- NewHorizons/Builder/Props/DetailBuilder.cs | 31 +++++++++++-------- NewHorizons/Handlers/PlanetCreationHandler.cs | 7 ++++- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/NewHorizons/Builder/Props/DetailBuilder.cs b/NewHorizons/Builder/Props/DetailBuilder.cs index d2064b68..78c0d6a0 100644 --- a/NewHorizons/Builder/Props/DetailBuilder.cs +++ b/NewHorizons/Builder/Props/DetailBuilder.cs @@ -1,3 +1,4 @@ +using HarmonyLib; using NewHorizons.Builder.General; using NewHorizons.Components; using NewHorizons.Components.Orbital; @@ -228,12 +229,16 @@ namespace NewHorizons.Builder.Props var path = $"{detailPath}/{childPath}"; var flag = true; - foreach (var childObj in transforms.Where(x => x.GetPath() == path)) + var childObjs = transforms.Where(x => x.GetPath() == path).ToList(); + var childObjs2 = go.transform.FindAll(childPath); + foreach (var childObj in childObjs) { flag = false; childObj.gameObject.SetActive(false); } + Main.Instance.ModHelper.Console.WriteLine($"remove children detail\n{prop.transform.GetPath()}\n{childPath}\n\n{childObjs.Join()}\n{childObjs2.Join()}"); + if (flag) NHLogger.LogWarning($"Couldn't find \"{childPath}\"."); } } @@ -264,7 +269,7 @@ namespace NewHorizons.Builder.Props UnityEngine.Object.DestroyImmediate(prop); prop = newDetailGO; } - + if (isItem) { // Else when you put them down you can't pick them back up @@ -276,7 +281,7 @@ namespace NewHorizons.Builder.Props // For DLC related props // Make sure to do this before its set active - if (!string.IsNullOrEmpty(detail?.path) && + if (!string.IsNullOrEmpty(detail?.path) && (detail.path.ToLowerInvariant().StartsWith("ringworld") || detail.path.ToLowerInvariant().StartsWith("dreamworld"))) { prop.AddComponent()._destroyOnDLCNotOwned = true; @@ -295,7 +300,7 @@ namespace NewHorizons.Builder.Props if (!string.IsNullOrEmpty(detail.activationCondition)) { - ConditionalObjectActivation.SetUp(prop, detail.activationCondition, detail.blinkWhenActiveChanged, true); + ConditionalObjectActivation.SetUp(prop, detail.activationCondition, detail.blinkWhenActiveChanged, true); } if (!string.IsNullOrEmpty(detail.deactivationCondition)) { @@ -569,22 +574,22 @@ namespace NewHorizons.Builder.Props // Manually copied these values from a artifact lantern so that we don't have to find it (works in Eye) lantern._origLensFlareBrightness = 0f; - lantern._focuserPetalsBaseEulerAngles = new Vector3[] - { - new Vector3(0.7f, 270.0f, 357.5f), - new Vector3(288.7f, 270.1f, 357.4f), + lantern._focuserPetalsBaseEulerAngles = new Vector3[] + { + new Vector3(0.7f, 270.0f, 357.5f), + new Vector3(288.7f, 270.1f, 357.4f), new Vector3(323.3f, 90.0f, 177.5f), - new Vector3(35.3f, 90.0f, 177.5f), - new Vector3(72.7f, 270.1f, 357.5f) + new Vector3(35.3f, 90.0f, 177.5f), + new Vector3(72.7f, 270.1f, 357.5f) }; lantern._dirtyFlag_focus = true; - lantern._concealerRootsBaseScale = new Vector3[] + lantern._concealerRootsBaseScale = new Vector3[] { Vector3.one, Vector3.one, Vector3.one }; - lantern._concealerCoversStartPos = new Vector3[] + lantern._concealerCoversStartPos = new Vector3[] { new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, -0.1f, 0.0f), @@ -595,7 +600,7 @@ namespace NewHorizons.Builder.Props }; lantern._dirtyFlag_concealment = true; lantern.UpdateVisuals(); - + Destroy(this); } } diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 75cfd0ba..eab46ce2 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -1,3 +1,4 @@ +using HarmonyLib; using NewHorizons.Builder.Atmosphere; using NewHorizons.Builder.Body; using NewHorizons.Builder.General; @@ -1008,7 +1009,9 @@ namespace NewHorizons.Handlers var path = $"{goPath}/{childPath}"; var flag = true; - foreach (var childObj in transforms.Where(x => x.GetPath() == path)) + var childObjs = transforms.Where(x => x.GetPath() == path).ToList(); + var childObjs2 = go.transform.FindAll(childPath); + foreach (var childObj in childObjs) { flag = false; // idk why we wait here but we do @@ -1021,6 +1024,8 @@ namespace NewHorizons.Handlers }, 2); } + Main.Instance.ModHelper.Console.WriteLine($"remove children planet\n{go.transform.GetPath()}\n{childPath}\n\n{childObjs.Join()}\n{childObjs2.Join()}"); + if (flag) NHLogger.LogWarning($"Couldn't find \"{childPath}\"."); } }