diff --git a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs index cd6d3e3..17b69b6 100644 --- a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs +++ b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro.cs @@ -94,12 +94,18 @@ public bool ForceFix protected readonly FastStringBuilder finalText = new FastStringBuilder(RTLSupport.DefaultBufferSize); - protected void Update() + protected override void OnEnable() { - if (havePropertiesChanged) - { - UpdateText(); - } + base.OnEnable(); + + m_OnDirtyLayoutCallback += UpdateText; + } + + protected override void OnDisable() + { + base.OnDisable(); + + m_OnDirtyLayoutCallback -= UpdateText; } public void UpdateText() diff --git a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro3D.cs b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro3D.cs index ca469dd..16e56ab 100644 --- a/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro3D.cs +++ b/Assets/RTLTMPro/Scripts/Runtime/RTLTextMeshPro3D.cs @@ -94,12 +94,18 @@ protected bool ForceFix protected readonly FastStringBuilder finalText = new FastStringBuilder(RTLSupport.DefaultBufferSize); - protected void Update() + protected override void OnEnable() { - if (havePropertiesChanged) - { - UpdateText(); - } + base.OnEnable(); + + m_OnDirtyLayoutCallback += UpdateText; + } + + protected override void OnDisable() + { + base.OnDisable(); + + m_OnDirtyLayoutCallback -= UpdateText; } public void UpdateText()