Example #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.
            YuLegoFontUpdateTracker.UntrackText(this);
            YuLegoFontUpdateTracker.TrackText(this);

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

            base.OnRebuildRequested();
        }
Example #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;
                YuLegoFontUpdateTracker.UntrackText(this);
                m_FontData.font = newFont;
                YuLegoFontUpdateTracker.TrackText(this);

                m_LastTrackedFont = newFont;
            }

            base.OnValidate();
        }
Example #3
0
 protected override void OnEnable()
 {
     base.OnEnable();
     cachedTextGenerator.Invalidate();
     YuLegoFontUpdateTracker.TrackText(this);
 }