public WindowState(TimelineWindow w, SequenceHierarchy hierarchy)
 {
     m_Window      = w;
     m_Preferences = w.preferences;
     hierarchy.Init(this);
     m_SequenceHierarchy = hierarchy;
     TimelinePlayable.muteAudioScrubbing = muteAudioScrubbing;
 }
Example #2
0
        void OnEnable()
        {
            if (m_SequencePath == null)
            {
                m_SequencePath = new SequencePath();
            }

            if (m_SequenceHierarchy == null)
            {
                // The sequence hierarchy will become null if maximize on play is used for in/out of playmode
                // a static var will hang on to the reference
                if (s_LastHierarchy != null)
                {
                    m_SequenceHierarchy = s_LastHierarchy;
                }
                else
                {
                    m_SequenceHierarchy = SequenceHierarchy.CreateInstance();
                }

                state = null;
            }
            s_LastHierarchy = m_SequenceHierarchy;

            titleContent = GetLocalizedTitleContent();

            UpdateTitle();

            m_PreviewResizer.Init("TimelineWindow");

            // Unmaximize fix : when unmaximizing, a new window is enabled and disabled. Prevent it from overriding the instance pointer.
            if (instance == null)
            {
                instance = this;
            }

            AnimationClipCurveCache.Instance.OnEnable();
            TrackAsset.OnClipPlayableCreate           += m_PlayableLookup.UpdatePlayableLookup;
            TrackAsset.OnTrackAnimationPlayableCreate += m_PlayableLookup.UpdatePlayableLookup;

            if (state == null)
            {
                state = new WindowState(this, s_LastHierarchy);
                Initialize();
                RefreshSelection(true);
                m_ForceRefreshLastSelection = true;
            }
        }