Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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
        }