Ejemplo n.º 1
0
        public MainWindowViewModel()
        {
            CurrentMap = Parser.CreateBeatmap();
            PlayRate   = 100;

            TimingMarks = new ObservableCollection <TimingMark> {
                new TimingMark()
            };
            CurrentTiming = TimingMarks[0];

            Diffs = new ObservableCollection <DiffVersion>();

            OffsetErrorOccurred = false;

            _playTimer.Interval = TimeSpan.FromMilliseconds((double)1000 / 144);
            _playTimer.Tick    += (sender, args) =>
            {
                var curTime = _stopWatch.Elapsed.TotalMilliseconds;
                CurrentPosition += (curTime - _oldTime) * PlayRate / 100;
                _oldTime         = curTime;

                if (CurrentPosition > SongLength)
                {
                    CurrentPosition = SongLength;
                    CurrentPosition = SongLength;
                    _playTimer.Stop();
                }

                EventBus.Instance.Publish(new CurPositionEvent {
                    CurPosition = CurrentPosition
                });
            };

            ErrorTimer.Interval = TimeSpan.FromSeconds(2);
            ErrorTimer.Tick    += (sender, args) =>
            {
                OffsetErrorOccurred = false;
                ErrorTimer.Stop();
            };

            EventBus.Instance.RegisterHandler(this);

            _dialogManager = new CustomDialogManager(new MetroDialogSettings
            {
                AnimateShow = false,
                AnimateHide = false
            });
        }
Ejemplo n.º 2
0
 /// <summary>
 ///     Constructor
 /// </summary>
 /// <param name="dialogManager">Dialog Manager</param>
 public MainWindowViewModel(ICustomDialogManager dialogManager)
 {
     _dialogManager = dialogManager;
 }