From 63a9c11a489ba593b9f7433bbc0606205987f892 Mon Sep 17 00:00:00 2001 From: dkavolis <12998363+dkavolis@users.noreply.github.com> Date: Sun, 9 May 2021 07:50:14 +0100 Subject: [PATCH] fix voxelization for unattached parts in the editor --- .../FARPartGeometry/GeometryPartModule.cs | 24 ++++++++++++++++++ .../Plugins/FerramAerospaceResearch.dll | Bin 375296 -> 375808 bytes 2 files changed, 24 insertions(+) diff --git a/FerramAerospaceResearch/FARPartGeometry/GeometryPartModule.cs b/FerramAerospaceResearch/FARPartGeometry/GeometryPartModule.cs index cb4bfb1b2..86bd3c38d 100644 --- a/FerramAerospaceResearch/FARPartGeometry/GeometryPartModule.cs +++ b/FerramAerospaceResearch/FARPartGeometry/GeometryPartModule.cs @@ -178,11 +178,22 @@ private void DebugPrint() debugInfo.Print(part); } + private void OnEditorAttach() + { + if (meshDataList is null || meshDataList.Count == 0) + { + RebuildAllMeshData(); + } + } + public override void OnAwake() { base.OnAwake(); ignoredTransforms = new List(); unignoredTransforms = new List(); + + // Part has connected member that would work but it is not public... + part.OnEditorAttach += OnEditorAttach; } private void Start() @@ -203,6 +214,8 @@ private void OnDestroy() animStates = null; animStateTime = null; destroyed = true; + + part.OnEditorAttach -= OnEditorAttach; } public override void OnStart(StartState state) @@ -253,6 +266,10 @@ private IEnumerator DoRebuildMeshEditor() while (EditorLogic.SelectedPart == part) yield return waiter; + // skip if not the root part, OnEditorAttach will rebuild the mesh data + if (EditorLogic.RootPart != part) + yield break; + RebuildAllMeshData(); } @@ -350,6 +367,13 @@ private bool IgnoredPredicate(Transform t) private Bounds SetBoundsFromMeshes() { + if (meshDataList.Count == 0) + { + // If the mesh is empty, try rebuilding it. This can happen when a part was added to the editor but not + // the ship before adding it to the ship + RebuildAllMeshData(); + } + Vector3 upper = Vector3.one * float.NegativeInfinity, lower = Vector3.one * float.PositiveInfinity; foreach (GeometryMesh geoMesh in meshDataList) { diff --git a/GameData/FerramAerospaceResearch/Plugins/FerramAerospaceResearch.dll b/GameData/FerramAerospaceResearch/Plugins/FerramAerospaceResearch.dll index 1066b83d78c9725d329ce72c251e17f9c4b1d962..934400dc047b74dbfc1bb6644528c1b305c1d418 100644 GIT binary patch delta 29950 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 F0{{w7kADCF delta 29618 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