diff --git a/NewHorizons/Builder/Props/QuantumBuilder.cs b/NewHorizons/Builder/Props/QuantumBuilder.cs index 90227e11..a6a475cf 100644 --- a/NewHorizons/Builder/Props/QuantumBuilder.cs +++ b/NewHorizons/Builder/Props/QuantumBuilder.cs @@ -295,39 +295,4 @@ namespace NewHorizons.Builder.Props return globalCorners.Select(globalCorner => relativeTo.transform.InverseTransformPoint(globalCorner)).ToArray(); } } - - /// - /// for some reason mesh bounds are wrong unless we wait a bit - /// so this script contiously checks everything until it is correct - /// - /// this actually only seems to be a problem with skinned renderers. normal ones work fine - /// TODO: at some point narrow this down to just skinned, instead of doing everything and checking every frame - /// - public class BoxShapeFixer : MonoBehaviour - { - public BoxShape shape; - public MeshFilter meshFilter; - public SkinnedMeshRenderer skinnedMeshRenderer; - - public void Update() - { - if (meshFilter == null && skinnedMeshRenderer == null) - { - NHLogger.LogVerbose("Useless BoxShapeFixer, destroying"); - DestroyImmediate(this); - } - - Mesh sharedMesh = null; - if (meshFilter != null) sharedMesh = meshFilter.sharedMesh; - if (skinnedMeshRenderer != null) sharedMesh = skinnedMeshRenderer.sharedMesh; - - if (sharedMesh == null) return; - if (sharedMesh.bounds.size == Vector3.zero) return; - - shape.size = sharedMesh.bounds.size; - shape.center = sharedMesh.bounds.center; - - DestroyImmediate(this); - } - } } diff --git a/NewHorizons/Utility/Geometry/BoxShapeFinder.cs b/NewHorizons/Utility/Geometry/BoxShapeFinder.cs index ebdfd9e4..40e5c37a 100644 --- a/NewHorizons/Utility/Geometry/BoxShapeFinder.cs +++ b/NewHorizons/Utility/Geometry/BoxShapeFinder.cs @@ -3,7 +3,14 @@ using UnityEngine; namespace NewHorizons.Utility.Geometry; -internal class BoxShapeFixer : MonoBehaviour +/// +/// for some reason mesh bounds are wrong unless we wait a bit +/// so this script contiously checks everything until it is correct +/// +/// this actually only seems to be a problem with skinned renderers. normal ones work fine +/// TODO: at some point narrow this down to just skinned, instead of doing everything and checking every frame +/// +public class BoxShapeFixer : MonoBehaviour { public BoxShape shape; public MeshFilter meshFilter; @@ -13,31 +20,20 @@ internal class BoxShapeFixer : MonoBehaviour { if (meshFilter == null && skinnedMeshRenderer == null) { - NHLogger.LogVerbose("Useless BoxShapeFixer, destroying"); DestroyImmediate(this); + NHLogger.LogVerbose("Useless BoxShapeFixer, destroying"); + DestroyImmediate(this); } Mesh sharedMesh = null; - if (meshFilter != null) - { - sharedMesh = meshFilter.sharedMesh; - } - if (skinnedMeshRenderer != null) - { - sharedMesh = skinnedMeshRenderer.sharedMesh; - } + if (meshFilter != null) sharedMesh = meshFilter.sharedMesh; + if (skinnedMeshRenderer != null) sharedMesh = skinnedMeshRenderer.sharedMesh; - if (sharedMesh == null) - { - return; - } - if (sharedMesh.bounds.size == Vector3.zero) - { - return; - } + if (sharedMesh == null) return; + if (sharedMesh.bounds.size == Vector3.zero) return; shape.size = sharedMesh.bounds.size; shape.center = sharedMesh.bounds.center; DestroyImmediate(this); } -} +} \ No newline at end of file