diff --git a/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/GameData/ConformalDecals/Plugins/ConformalDecals.dll index 75f17c6..d6fc903 100644 Binary files a/GameData/ConformalDecals/Plugins/ConformalDecals.dll and b/GameData/ConformalDecals/Plugins/ConformalDecals.dll differ diff --git a/Source/ConformalDecals/UI/TextEntryController.cs b/Source/ConformalDecals/UI/TextEntryController.cs index c735d77..40d047d 100644 --- a/Source/ConformalDecals/UI/TextEntryController.cs +++ b/Source/ConformalDecals/UI/TextEntryController.cs @@ -33,6 +33,7 @@ namespace ConformalDecals.UI { private DecalTextStyle _style; private Vector2 _lineSpacingRange; private Vector2 _charSpacingRange; + private TMP_InputField _textBoxTMP; private FontMenuController _fontMenu; @@ -79,9 +80,9 @@ namespace ConformalDecals.UI { _font = font; font.SetupSample(_fontButton.GetComponentInChildren()); - var textBox = ((TMP_InputField) _textBox); - textBox.textComponent.fontStyle = _style.FontStyle | _font.FontStyle; - textBox.fontAsset = _font.FontAsset; + _textBoxTMP.text = _text; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + _textBoxTMP.fontAsset = _font.FontAsset; UpdateStyleButtons(); OnValueChanged(); @@ -91,11 +92,11 @@ namespace ConformalDecals.UI { if (_ignoreUpdates) return; _style.LineSpacing = Mathf.Lerp(_lineSpacingRange.x, _lineSpacingRange.y, value); - + UpdateLineSpacing(); OnValueChanged(); } - + public void OnLineSpacingUpdate(string text) { if (_ignoreUpdates) return; @@ -105,7 +106,7 @@ namespace ConformalDecals.UI { else { Logging.LogWarning("Line spacing value '{text}' could not be parsed."); } - + UpdateLineSpacing(); OnValueChanged(); } @@ -114,11 +115,11 @@ namespace ConformalDecals.UI { if (_ignoreUpdates) return; _style.CharSpacing = Mathf.Lerp(_charSpacingRange.x, _charSpacingRange.y, value); - + UpdateCharSpacing(); OnValueChanged(); } - + public void OnCharSpacingUpdate(string text) { if (_ignoreUpdates) return; @@ -128,7 +129,7 @@ namespace ConformalDecals.UI { else { Logging.LogWarning("Char spacing value '{text}' could not be parsed."); } - + UpdateCharSpacing(); OnValueChanged(); } @@ -137,6 +138,7 @@ namespace ConformalDecals.UI { if (_ignoreUpdates) return; _style.Bold = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; OnValueChanged(); } @@ -144,6 +146,7 @@ namespace ConformalDecals.UI { if (_ignoreUpdates) return; _style.Italic = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; OnValueChanged(); } @@ -151,26 +154,31 @@ namespace ConformalDecals.UI { if (_ignoreUpdates) return; _style.Underline = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; OnValueChanged(); } public void OnSmallCapsUpdate(bool state) { if (_ignoreUpdates) return; - + _style.SmallCaps = state; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; OnValueChanged(); } public void OnVerticalUpdate(bool state) { if (_ignoreUpdates) return; - + _style.Vertical = state; OnValueChanged(); } private void Start() { - ((TMP_InputField) _textBox).text = _text; + _textBoxTMP = ((TMP_InputField) _textBox); + _textBoxTMP.text = _text; + _textBoxTMP.textComponent.fontStyle = _style.FontStyle | _font.FontStyle & ~_font.FontStyleMask; + _textBoxTMP.fontAsset = _font.FontAsset; _font.SetupSample(_fontButton.GetComponentInChildren()); @@ -245,19 +253,19 @@ namespace ConformalDecals.UI { private void UpdateLineSpacing() { _ignoreUpdates = true; - + _lineSpacingSlider.value = Mathf.InverseLerp(_lineSpacingRange.x, _lineSpacingRange.y, _style.LineSpacing); ((TMP_InputField) _lineSpacingTextBox).text = $"{_style.LineSpacing:F1}"; - + _ignoreUpdates = false; } - + private void UpdateCharSpacing() { _ignoreUpdates = true; - + _charSpacingSlider.value = Mathf.InverseLerp(_charSpacingRange.x, _charSpacingRange.y, _style.CharSpacing); ((TMP_InputField) _charSpacingTextBox).text = $"{_style.CharSpacing:F1}"; - + _ignoreUpdates = false; } }