From de05bfa2e04b90f91d1a8056605237eb0f329ff7 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Wed, 15 Jun 2022 10:59:01 -0400 Subject: [PATCH] Reference Frame Enabled --- NewHorizons/Builder/General/RFVolumeBuilder.cs | 3 ++- NewHorizons/Builder/Orbital/FocalPointBuilder.cs | 1 + NewHorizons/Components/CloakSectorController.cs | 2 +- NewHorizons/External/Configs/PlanetConfig.cs | 2 +- NewHorizons/External/Modules/ReferenceFrameModule.cs | 5 +++++ 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/NewHorizons/Builder/General/RFVolumeBuilder.cs b/NewHorizons/Builder/General/RFVolumeBuilder.cs index 1d4815a9..c5826e44 100644 --- a/NewHorizons/Builder/General/RFVolumeBuilder.cs +++ b/NewHorizons/Builder/General/RFVolumeBuilder.cs @@ -43,7 +43,8 @@ namespace NewHorizons.Builder.General owrb.SetAttachedReferenceFrameVolume(RFV); - rfGO.SetActive(!module.hideInMap); + if (!module.enabled) GameObject.Destroy(rfGO); + else rfGO.SetActive(!module.hideInMap); } } } diff --git a/NewHorizons/Builder/Orbital/FocalPointBuilder.cs b/NewHorizons/Builder/Orbital/FocalPointBuilder.cs index 18b055f1..a9810eda 100644 --- a/NewHorizons/Builder/Orbital/FocalPointBuilder.cs +++ b/NewHorizons/Builder/Orbital/FocalPointBuilder.cs @@ -59,6 +59,7 @@ namespace NewHorizons.Builder.Orbital fakeMassConfig.name = config.name + "_FakeBarycenterMass"; fakeMassConfig.Base.soiOverride = 0; fakeMassConfig.Base.hasMapMarker = false; + fakeMassConfig.ReferenceFrame.enabled = false; fakeMassConfig.ReferenceFrame.hideInMap = true; fakeMassConfig.Orbit = new OrbitModule(); diff --git a/NewHorizons/Components/CloakSectorController.cs b/NewHorizons/Components/CloakSectorController.cs index e7322cdd..09f50776 100644 --- a/NewHorizons/Components/CloakSectorController.cs +++ b/NewHorizons/Components/CloakSectorController.cs @@ -119,7 +119,7 @@ namespace NewHorizons.Components _cloak._cloakVisualsEnabled = false; } - public void SetReferenceFrameVolumeActive(bool active) => _cloak._referenceFrameVolume.gameObject.SetActive(active); + public void SetReferenceFrameVolumeActive(bool active) => _cloak._referenceFrameVolume?.gameObject.SetActive(active); public void EnableReferenceFrameVolume() => SetReferenceFrameVolumeActive(true); public void DisableReferenceFrameVolume() => SetReferenceFrameVolumeActive(false); diff --git a/NewHorizons/External/Configs/PlanetConfig.cs b/NewHorizons/External/Configs/PlanetConfig.cs index 5ab65904..5de8b2ce 100644 --- a/NewHorizons/External/Configs/PlanetConfig.cs +++ b/NewHorizons/External/Configs/PlanetConfig.cs @@ -201,7 +201,7 @@ namespace NewHorizons.External.Configs if (Base.isSatellite) Base.showMinimap = false; - if (!Base.hasReferenceFrame) ReferenceFrame.hideInMap = true; + if (!Base.hasReferenceFrame) ReferenceFrame.enabled = false; if (childrenToDestroy != null) removeChildren = childrenToDestroy; diff --git a/NewHorizons/External/Modules/ReferenceFrameModule.cs b/NewHorizons/External/Modules/ReferenceFrameModule.cs index 88adda68..0704366a 100644 --- a/NewHorizons/External/Modules/ReferenceFrameModule.cs +++ b/NewHorizons/External/Modules/ReferenceFrameModule.cs @@ -10,6 +10,11 @@ namespace NewHorizons.External.Modules [JsonObject] public class ReferenceFrameModule { + /// + /// Allows the object to be targeted. + /// + [DefaultValue(true)] public bool enabled = true; + /// /// Stop the object from being targeted on the map. ///