From 74873efc119c8913e47ad84016ee0142aa97d704 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Fri, 27 May 2022 05:49:41 -0400 Subject: [PATCH] Manually set attached components --- NewHorizons/Builder/General/DetectorBuilder.cs | 4 +++- NewHorizons/Builder/General/GravityBuilder.cs | 5 +++-- NewHorizons/Builder/General/RFVolumeBuilder.cs | 8 +++++--- NewHorizons/Handlers/PlanetCreationHandler.cs | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/NewHorizons/Builder/General/DetectorBuilder.cs b/NewHorizons/Builder/General/DetectorBuilder.cs index d71c30b4..3f47e8bb 100644 --- a/NewHorizons/Builder/General/DetectorBuilder.cs +++ b/NewHorizons/Builder/General/DetectorBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.Components.Orbital; +using NewHorizons.Components.Orbital; using NewHorizons.External.Configs; using UnityEngine; using Logger = NewHorizons.Utility.Logger; @@ -31,6 +31,8 @@ namespace NewHorizons.Builder.General fluidDetector._collider = sphereCollider; + OWRB.RegisterAttachedFluidDetector(fluidDetector); + // Could copy the splash from the interloper as well some day } diff --git a/NewHorizons/Builder/General/GravityBuilder.cs b/NewHorizons/Builder/General/GravityBuilder.cs index 067a1a75..95f8a886 100644 --- a/NewHorizons/Builder/General/GravityBuilder.cs +++ b/NewHorizons/Builder/General/GravityBuilder.cs @@ -1,4 +1,4 @@ -using NewHorizons.External.Configs; +using NewHorizons.External.Configs; using NewHorizons.External.Modules; using UnityEngine; using Logger = NewHorizons.Utility.Logger; @@ -6,7 +6,7 @@ namespace NewHorizons.Builder.General { public static class GravityBuilder { - public static GravityVolume Make(GameObject planetGO, AstroObject ao, PlanetConfig config) + public static GravityVolume Make(GameObject planetGO, AstroObject ao, OWRigidbody owrb, PlanetConfig config) { var exponent = config.Base.gravityFallOff == GravityFallOff.Linear ? 1f : 2f; var GM = config.Base.surfaceGravity * Mathf.Pow(config.Base.surfaceSize, exponent); @@ -60,6 +60,7 @@ namespace NewHorizons.Builder.General gravityGO.SetActive(true); ao._gravityVolume = gravityVolume; + owrb.RegisterAttachedGravityVolume(gravityVolume); return gravityVolume; } diff --git a/NewHorizons/Builder/General/RFVolumeBuilder.cs b/NewHorizons/Builder/General/RFVolumeBuilder.cs index 892aae9a..7b1c08a4 100644 --- a/NewHorizons/Builder/General/RFVolumeBuilder.cs +++ b/NewHorizons/Builder/General/RFVolumeBuilder.cs @@ -1,10 +1,10 @@ -using NewHorizons.External.Configs; +using NewHorizons.External.Configs; using UnityEngine; namespace NewHorizons.Builder.General { public static class RFVolumeBuilder { - public static void Make(GameObject planetGO, OWRigidbody owRigidBody, float sphereOfInfluence) + public static void Make(GameObject planetGO, OWRigidbody owrb, float sphereOfInfluence) { var rfGO = new GameObject("RFVolume"); rfGO.transform.parent = planetGO.transform; @@ -18,7 +18,7 @@ namespace NewHorizons.Builder.General var RFV = rfGO.AddComponent(); - var RV = new ReferenceFrame(owRigidBody); + var RV = new ReferenceFrame(owrb); RV._minSuitTargetDistance = sphereOfInfluence; RV._maxTargetDistance = 0; RV._autopilotArrivalDistance = 2.0f * sphereOfInfluence; @@ -36,6 +36,8 @@ namespace NewHorizons.Builder.General RFV._isPrimaryVolume = true; RFV._isCloseRangeVolume = false; + owrb.SetAttachedReferenceFrameVolume(RFV); + rfGO.SetActive(true); } } diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index b7600d4d..b1776627 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -303,7 +303,7 @@ namespace NewHorizons.Handlers if (body.Config.Base.surfaceGravity != 0) { - GravityBuilder.Make(go, ao, body.Config); + GravityBuilder.Make(go, ao, owRigidBody, body.Config); } if (body.Config.Base.hasReferenceFrame)