protected void AssignPositioningIfNeeded() { var caretRectTrans = CachedInputRenderer != null?CachedInputRenderer.GetComponent <RectTransform>() : null; if (m_TextComponent != null && caretRectTrans != null && (caretRectTrans.localPosition != m_TextComponent.rectTransform.localPosition || caretRectTrans.localRotation != m_TextComponent.rectTransform.localRotation || caretRectTrans.localScale != m_TextComponent.rectTransform.localScale || caretRectTrans.anchorMin != m_TextComponent.rectTransform.anchorMin || caretRectTrans.anchorMax != m_TextComponent.rectTransform.anchorMax || caretRectTrans.anchoredPosition != m_TextComponent.rectTransform.anchoredPosition || caretRectTrans.sizeDelta != m_TextComponent.rectTransform.sizeDelta || caretRectTrans.pivot != m_TextComponent.rectTransform.pivot || caretRectTrans.offsetMin != m_TextComponent.rectTransform.offsetMin || caretRectTrans.offsetMax != m_TextComponent.rectTransform.offsetMax)) { caretRectTrans.localPosition = m_TextComponent.rectTransform.localPosition; caretRectTrans.localRotation = m_TextComponent.rectTransform.localRotation; caretRectTrans.localScale = m_TextComponent.rectTransform.localScale; caretRectTrans.anchorMin = m_TextComponent.rectTransform.anchorMin; caretRectTrans.anchorMax = m_TextComponent.rectTransform.anchorMax; caretRectTrans.anchoredPosition = m_TextComponent.rectTransform.anchoredPosition; caretRectTrans.sizeDelta = m_TextComponent.rectTransform.sizeDelta; caretRectTrans.pivot = m_TextComponent.rectTransform.pivot; caretRectTrans.offsetMin = m_TextComponent.rectTransform.offsetMin; caretRectTrans.offsetMax = m_TextComponent.rectTransform.offsetMax; // Get updated world corners of viewport. //m_TextViewport.GetLocalCorners(m_ViewportCorners); } }
protected virtual void BaseOnDisable() { #if FIX_NEW_INPUTSYSTEM_SUPPORT // the coroutine will be terminated, so this will ensure it restarts when we are next activated BlinkCoroutine = null; DeactivateInputField(); if (m_TextComponent != null) { m_TextComponent.UnregisterDirtyVerticesCallback(MarkGeometryAsDirty); m_TextComponent.UnregisterDirtyVerticesCallback(UpdateLabel); if (m_VerticalScrollbar != null) { var onScrollbarValueChangedHandler = (UnityAction <float>)System.Delegate.CreateDelegate( typeof(UnityAction <float>), this, "OnScrollbarValueChange"); m_VerticalScrollbar.onValueChanged.RemoveListener(onScrollbarValueChangedHandler); } } CanvasUpdateRegistry.UnRegisterCanvasElementForRebuild(this); // Clear needs to be called otherwise sync never happens as the object is disabled. if (CachedInputRenderer != null) { CachedInputRenderer.Clear(); } if (m_Mesh != null) { DestroyImmediate(m_Mesh); } m_Mesh = null; // Unsubscribe to event triggered when text object has been regenerated var onTextChangedHandler = (System.Action <Object>)System.Delegate.CreateDelegate( typeof(System.Action <Object>), this, "ON_TEXT_CHANGED"); TMPro_EventManager.TEXT_CHANGED_EVENT.Remove(onTextChangedHandler); BaseSelectableOnDisable(); #else base.OnDisable(); #endif }