From 3ed6834f619a12a6a857aa316da89382e4ba9d74 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Fri, 27 May 2022 06:00:01 -0400 Subject: [PATCH] Keep Reference Frame for Cloak --- NewHorizons/Builder/Body/CloakBuilder.cs | 3 ++- NewHorizons/Components/CloakSectorController.cs | 4 ++++ NewHorizons/Handlers/PlanetCreationHandler.cs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NewHorizons/Builder/Body/CloakBuilder.cs b/NewHorizons/Builder/Body/CloakBuilder.cs index c75fa60c..ffafc769 100644 --- a/NewHorizons/Builder/Body/CloakBuilder.cs +++ b/NewHorizons/Builder/Body/CloakBuilder.cs @@ -5,7 +5,7 @@ namespace NewHorizons.Builder.Body { public static class CloakBuilder { - public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius) + public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius, bool keepReferenceFrame) { var cloak = SearchUtilities.Find("RingWorld_Body/CloakingField_IP"); @@ -36,6 +36,7 @@ namespace NewHorizons.Builder.Body // To cloak from the start Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(cloakSectorController.OnPlayerExit); + Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(keepReferenceFrame ? cloakSectorController.EnableReferenceFrameVolume : cloakSectorController.DisableReferenceFrameVolume); } } } diff --git a/NewHorizons/Components/CloakSectorController.cs b/NewHorizons/Components/CloakSectorController.cs index f027a7dc..9a047ddc 100644 --- a/NewHorizons/Components/CloakSectorController.cs +++ b/NewHorizons/Components/CloakSectorController.cs @@ -76,5 +76,9 @@ namespace NewHorizons.Components Shader.DisableKeyword("_CLOAKINGFIELDENABLED"); _cloak._cloakVisualsEnabled = false; } + + public void SetReferenceFrameVolumeActive(bool active) => _cloak._referenceFrameVolume.gameObject.SetActive(active); + public void EnableReferenceFrameVolume() => SetReferenceFrameVolumeActive(true); + public void DisableReferenceFrameVolume() => SetReferenceFrameVolumeActive(false); } } diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 0234543c..46cbacf4 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -482,7 +482,7 @@ namespace NewHorizons.Handlers // Has to go last probably if (body.Config.Base.cloakRadius != 0f) { - CloakBuilder.Make(go, sector, rb, body.Config.Base.cloakRadius); + CloakBuilder.Make(go, sector, rb, body.Config.Base.cloakRadius, body.Config.Base.hasReferenceFrame); } return go;