Beispiel #1
0
        public void Play(bool restart)
        {
            if (!_sequence.IsStopped && restart)
            {
                _sequence.Stop();
            }



            int frame = _viewRange.Cull(_sequence.GetCurrentFrame());

            _sequence.Play(frame);

            _timeStartedPlaying = EditorApplication.timeSinceStartup - (frame - _viewRange.Start) * _sequence.InverseFrameRate;

            SetCurrentFrame(frame);

            _isPlaying = true;

            FUtility.RepaintGameView();
        }
        void Update()
        {
#if FLUX_PROFILE
            Profiler.BeginSample("flux Update");
#endif
            if (_sequenceEditor == null)
            {
                _sequenceEditor = GTimelineEditor.CreateInstance <GTimelineEditor>();
                _sequenceEditor.Init(this);
            }

            GTimelineEditor sequence = _sequenceEditor.GetSequence();

            if (EditorApplication.isCompiling)
            {
                _isEditorCompiling = true;
                _sequenceEditor.Stop();
            }
            else if (_isEditorCompiling)
            {
                _isEditorCompiling = false;
                _windowRect        = new Rect();          // clear window size so it rebuilds layout
                _sequenceEditor.Refresh();
            }

            if (Application.isPlaying && sequence != null)
            {
                Repaint();
            }

            _sequenceEditor.Update();

#if FLUX_PROFILE
            Profiler.EndSample();
#endif
        }