From ceb3d5d33f77250d1b989cedbaf9a7307de23828 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Tue, 11 Jun 2019 15:27:00 -0700 Subject: [PATCH] Allow ModuleRestockDepthMask to have multiple masks --- .../GameData/ReStock/Plugins/Restock.dll | Bin 26624 -> 26624 bytes Source/Restock/ModuleRestockDepthMask.cs | 37 +++++++----------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 360d3328799dd73754c14e27802ba3c0c2f82ee7..5fae2a6aad6494629e027694bbd54bf336ac95b3 100644 GIT binary patch delta 8931 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 ZdC}SPcGy?`RpA4N?QmuvXX~qs{|D*nFoOU9 delta 9077 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 diff --git a/Source/Restock/ModuleRestockDepthMask.cs b/Source/Restock/ModuleRestockDepthMask.cs index fe5f4303..69ad65fc 100644 --- a/Source/Restock/ModuleRestockDepthMask.cs +++ b/Source/Restock/ModuleRestockDepthMask.cs @@ -1,3 +1,4 @@ +using System; using UnityEngine; using UnityEngine.Serialization; @@ -25,8 +26,8 @@ namespace Restock public int maskRenderQueue = 1999; - // depth mask object transform - public Transform maskTransformObject; + // depth mask object transforms + public Transform[] maskTransformObjects; // body object transform public Transform bodyTransformObject; @@ -38,7 +39,7 @@ namespace Restock public override void OnStart(StartState state) { base.OnStart(state); - UpdatematerialQueue(); + UpdateAllMaterials(); // the part variant system is implemented extremely stupidly // so we have to make this whole module more complicated as a result @@ -58,14 +59,14 @@ namespace Restock if (HighLogic.LoadedSceneIsEditor || HighLogic.LoadedSceneIsFlight) return; - this.maskTransformObject = base.part.FindModelTransform(maskTransform); - if (this.maskTransformObject == null) + this.maskTransformObjects = base.part.FindModelTransforms(maskTransform); + if (this.maskTransformObjects.Length == 0 || this.maskTransformObjects == null) { this.LogError($"Can't find transform {maskTransform}"); return; } - if (bodyTransform == "") + if (bodyTransform.Length == 0) { this.bodyTransformObject = base.part.partTransform; } @@ -91,34 +92,26 @@ namespace Restock public void OnVariantApplied(Part appliedPart, PartVariant variant) { // I dont know why changing part variants resets all the materials to their as-loaded state, but it does - if (appliedPart == this.part) UpdatematerialQueue(); + if (appliedPart == this.part) UpdateAllMaterials(); } - private void UpdatematerialQueue() + private void UpdateAllMaterials() { - var windowRenderer = maskTransformObject.GetComponent(); + var renderers = bodyTransformObject.GetComponentsInChildren(true); - windowRenderer.material.shader = depthShader; - windowRenderer.material.renderQueue = maskRenderQueue; - - var meshRenderers = bodyTransformObject.GetComponentsInChildren(true); - var skinnedMeshRenderers = bodyTransformObject.GetComponentsInChildren(true); - - foreach (var renderer in meshRenderers) + foreach (var renderer in renderers) { - if (renderer == windowRenderer) continue; var queue = renderer.material.renderQueue; queue = meshRenderQueue + ((queue - 2000) / 2); renderer.material.renderQueue = queue; } - foreach (var renderer in skinnedMeshRenderers) + foreach (var maskObject in maskTransformObjects) { - if (renderer == windowRenderer) continue; - var queue = renderer.material.renderQueue; - queue = meshRenderQueue + ((queue - 2000) / 2); - renderer.material.renderQueue = queue; + var renderer = maskObject.GetComponent(); + renderer.material.shader = depthShader; + renderer.material.renderQueue = maskRenderQueue; } } }