Ejemplo n.º 1
0
        public virtual void SetSlider(Slider slider)
        {
            if (slider == null)
            {
                if (m_slider != null)
                {
                    m_slider.ValueChanged -= OnFrame;
                }
                return;
            }

            if (slider == m_slider)
            {
                return;
            }

            m_slider = slider;
            m_slider.ValueChanged += OnFrame;
            Storyboard.SetTarget(m_animator, m_slider);
            m_controller_state = SequenceControllerState.RESET;
        }
Ejemplo n.º 2
0
        public void Play()
        {
            var animation = m_animator.Children[0] as DoubleAnimation;

            var time = new TimeSpan((long)(m_slider.Value / 30 * 10000000));

            switch (m_controller_state)
            {
            case SequenceControllerState.RESET:
                m_controller_state = SequenceControllerState.PLAY;
                m_animator.Begin();
                PlayAudio(time);
                break;

            case SequenceControllerState.READY:
                m_controller_state = SequenceControllerState.PLAY;
                m_animator.Begin();
                PlayAudio(time);
                break;

            case SequenceControllerState.PLAY:
                var value = m_slider.Value;
                m_controller_state = SequenceControllerState.PAUSE;
                m_animator.Stop();
                StopAudio();
                m_slider.Value = value;
                break;

            case SequenceControllerState.PAUSE:
                animation.From     = m_slider.Value;
                m_controller_state = SequenceControllerState.PLAY;
                m_animator.Begin();
                PlayAudio(time);
                break;
            }
        }