Example #1
0
        private void HandleTimer()
        {
            if (_mode == ModeEnum.Slowdown && _timer.Interval > MaxSlowdownInterval.TotalMilliseconds) // Winning tile!
            {
                _soundEffects.PlayWinnerSound();
                _timer.Stop();
                _mode = ModeEnum.WinnerSelected;
                OnWinnerSelected?.Invoke(this, new WinnerSelectedEventArgs
                {
                    WinningTile = SelectedTile,
                    WinnerName  = SelectedTile.Name,
                    AttendeeId  = SelectedTile.AttendeeId
                });
                return;
            }

            var rand = new Random();

            var randomTileIndex = rand.Next(0, Tiles.Count);

            SelectedTile = Tiles[randomTileIndex];

            _timer.Interval = GetCurrentTimerInterval();

            _soundEffects.PlayTileChangeSound();
        }
Example #2
0
 public static void CallWinnerSelected(BDat state) =>
 OnWinnerSelected?.Invoke(null, state);