예제 #1
0
        public override void OnRebuildRequested()
        {
            // After a Font asset gets re-imported the managed side gets deleted and recreated,
            // that means the delegates are not persisted.
            // so we need to properly enforce a consistent state here.
            FontUpdateTrackerUI.UntrackText(this);
            FontUpdateTrackerUI.TrackText(this);

            // Also the textgenerator is no longer valid.
            cachedTextGenerator.Invalidate();

            base.OnRebuildRequested();
        }
예제 #2
0
        // The Text inspector editor can change the font, and we need a way to track changes so that we get the appropriate rebuild callbacks
        // We can intercept changes in OnValidate, and keep track of the previous font reference
        protected override void OnValidate()
        {
            if (!IsActive())
            {
                base.OnValidate();
                return;
            }

            if (m_FontData.font != m_LastTrackedFont)
            {
                Font newFont = m_FontData.font;
                m_FontData.font = m_LastTrackedFont;
                FontUpdateTrackerUI.UntrackText(this);
                m_FontData.font = newFont;
                FontUpdateTrackerUI.TrackText(this);

                m_LastTrackedFont = newFont;
            }
            base.OnValidate();
        }
예제 #3
0
 protected override void OnDisable()
 {
     FontUpdateTrackerUI.UntrackText(this);
     base.OnDisable();
 }
예제 #4
0
 protected override void OnEnable()
 {
     base.OnEnable();
     cachedTextGenerator.Invalidate();
     FontUpdateTrackerUI.TrackText(this);
 }