From aac4cda399deb46d27848022f8e99fa21df33f92 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Sat, 18 Jun 2022 06:24:18 -0400 Subject: [PATCH] Fix black/white hole invisible bug --- NewHorizons/Main.cs | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Main.cs b/NewHorizons/Main.cs index c34edd2b..5bdefcd0 100644 --- a/NewHorizons/Main.cs +++ b/NewHorizons/Main.cs @@ -344,8 +344,35 @@ namespace NewHorizons vesselObject.transform.position += system.Config.vesselPosition; if (system.Config.vesselRotation != null) vesselObject.transform.eulerAngles = system.Config.vesselRotation; - vesselObject.SetActive(true); + VesselWarpController vesselWarpController = vesselObject.GetComponentInChildren(true); + vesselWarpController._sourceWarpPlatform.transform.DestroyAllChildren(); + vesselWarpController._targetWarpPlatform.transform.DestroyAllChildren(); + Destroy(vesselWarpController._blackHole.transform.parent.gameObject); + Destroy(vesselWarpController._whiteHole.transform.parent.gameObject); + GameObject WarpPlatform = SearchUtilities.Find("DB_VesselDimension_Body/Sector_VesselDimension/Sector_VesselBridge/Interactibles_VesselBridge/WarpController/Prefab_NOM_WarpPlatform"); + GameObject warpBH = WarpPlatform.transform.Find("BlackHole").gameObject; + GameObject warpWH = WarpPlatform.transform.Find("WhiteHole").gameObject; + GameObject sourceBH = Instantiate(warpBH, vesselWarpController._sourceWarpPlatform.transform, false); + vesselWarpController._sourceWarpPlatform._blackHole = sourceBH.GetComponentInChildren(); + GameObject sourceWH = Instantiate(warpWH, vesselWarpController._sourceWarpPlatform.transform, false); + vesselWarpController._sourceWarpPlatform._whiteHole = sourceWH.GetComponentInChildren(); + GameObject targetBH = Instantiate(warpBH, vesselWarpController._targetWarpPlatform.transform, false); + vesselWarpController._targetWarpPlatform._blackHole = targetBH.GetComponentInChildren(); + GameObject targetWH = Instantiate(warpWH, vesselWarpController._targetWarpPlatform.transform, false); + vesselWarpController._targetWarpPlatform._whiteHole = targetWH.GetComponentInChildren(); + GameObject blackHole = SearchUtilities.Find("DB_VesselDimension_Body/Sector_VesselDimension/Sector_VesselBridge/Interactibles_VesselBridge/BlackHole"); + GameObject newBlackHole = Instantiate(blackHole, vesselWarpController.transform.parent, false); + newBlackHole.name = "BlackHole"; + vesselWarpController._blackHole = newBlackHole.GetComponentInChildren(); + vesselWarpController._blackHoleOneShot = vesselWarpController._blackHole.transform.parent.Find("BlackHoleAudio_OneShot").GetComponent(); + GameObject whiteHole = SearchUtilities.Find("DB_VesselDimension_Body/Sector_VesselDimension/Sector_VesselBridge/Interactibles_VesselBridge/WhiteHole"); + GameObject newWhiteHole = Instantiate(whiteHole, vesselWarpController.transform.parent, false); + newWhiteHole.name = "WhiteHole"; + vesselWarpController._whiteHole = newWhiteHole.GetComponentInChildren(); + vesselWarpController._whiteHoleOneShot = vesselWarpController._whiteHole.transform.parent.Find("WhiteHoleAudio_OneShot").GetComponent(); + + vesselObject.SetActive(true); vesselWarpController._targetWarpPlatform.OnReceiveWarpedBody += (OWRigidbody warpedBody, NomaiWarpPlatform startPlatform, NomaiWarpPlatform targetPlatform) => OnReceiveWarpedBody(vesselObject, warpedBody, startPlatform, targetPlatform); if (system.Config.warpExitPosition != null) vesselWarpController._targetWarpPlatform.transform.localPosition = system.Config.warpExitPosition;