From 95b99d1d42d0ec706e20db303bae433095765dc7 Mon Sep 17 00:00:00 2001 From: Andrew Cassidy Date: Sun, 6 Mar 2022 00:01:23 -0800 Subject: [PATCH] Clean up text update function --- .../Plugins/ConformalDecals.dll | Bin 86016 -> 86016 bytes Source/ConformalDecals/ModuleConformalText.cs | 42 +++++++++--------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 8fe9cbc8d8197d77db282844ffb16949d7cf3f81..c889ed6e8b394db8488b59778359a0008836cefa 100644 GIT binary patch delta 27862 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 K-Q8RKsQ!O@bf)S6 delta 27919 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 diff --git a/Source/ConformalDecals/ModuleConformalText.cs b/Source/ConformalDecals/ModuleConformalText.cs index 8bc53dd..b3948d8 100644 --- a/Source/ConformalDecals/ModuleConformalText.cs +++ b/Source/ConformalDecals/ModuleConformalText.cs @@ -153,7 +153,7 @@ namespace ConformalDecals { this.vertical = newVertical; this.lineSpacing = newLineSpacing; this.charSpacing = newCharSpacing; - UpdateTextRecursive(); + UpdateText(true); } public void OnFillColorUpdate(Color rgb, Util.ColorHSV hsv) { @@ -240,39 +240,37 @@ namespace ConformalDecals { base.OnDetach(); } - private void UpdateTextRecursive() { - UpdateText(); - - foreach (var counterpart in part.symmetryCounterparts) { - var decal = counterpart.GetComponent(); - decal.text = text; - decal.font = font; - decal.style = style; - decal.vertical = vertical; - decal.charSpacing = charSpacing; - decal.lineSpacing = lineSpacing; - - decal.UpdateText(); - } - } - private IEnumerator UpdateTextLate() { yield return null; UpdateText(); } - private void UpdateText() { + private void UpdateText(bool recursive = false) { // Render text var newText = new DecalText(text, font, style, vertical, lineSpacing, charSpacing); var output = TextRenderer.UpdateText(_currentText, newText); + + // update the _currentText state variable + // this is the ONLY place this variable should be set! otherwise the current state is lost _currentText = newText; + // Update the texture with the new rendered output UpdateTexture(output); - // TODO: ASYNC RENDERING - // var newText = new DecalText(text, _font, _style); - // _currentJob = TextRenderer.UpdateText(_currentText, newText, UpdateTexture); - // _currentText = newText; + // If recursive, copy parameters to other parts and perform the same operation + if (recursive) { + foreach (var counterpart in part.symmetryCounterparts) { + var decal = counterpart.GetComponent(); + decal.text = text; + decal.font = font; + decal.style = style; + decal.vertical = vertical; + decal.charSpacing = charSpacing; + decal.lineSpacing = lineSpacing; + + decal.UpdateText(); + } + } } public void UpdateTexture(TextRenderOutput output) {