Exemplo n.º 1
0
        public bool Execute()
        {
            if (OnOption.IsPresent)
            {
                TimelineView.Show();
            }

            if (OffOption.IsPresent)
            {
                TimelineView.Hide();
            }

            if (StartPlayback.IsPresent)
            {
                if (!TimelineView.Timeline.IsBusy)
                {
                    if (DoCommandWaitOnPlay)
                    {
                        DevCommandManager.Instance.StartWait();

                        TimelineView.PlayStopped += HandleTimelineViewPlayStopped;
                    }

                    TimelineView.Play();
                }
                else
                {
                    Debug.Log("Error:  Choreography already in progress");
                    return(false);
                }
            }

            // Currently this option would only work if you started choreography with the UI button (which works fine),
            // because if you start it with the dev command we set the 'wait gate' on dev commands (above)
            if (StopPlayback.IsPresent)
            {
                TimelineView.Stop();
            }

            if (InfoOption.IsPresent)
            {
                // NOTE: time does not accomodate for the eval
                var stepCount = TimelineView.Timeline.RecursiveStepCount;
                var duration  = TimelineView.Timeline.RecursiveDuration;
                var estimated = TimelineView.Timeline.RecursiveDurationIsEstimated;

                Debug.Log("Total steps: " + stepCount + "; total time: " + duration + " seconds; estimated:" + estimated);
            }

            return(true);
        }