Exemplo n.º 1
0
        private async void ClockClicked(object sender, AnsweredEventArgs <LocalTime> e)
        {
            _tries++;

            var isCorrect    = e.Answer == _theTime;
            var answerButton = sender as IAnswerButton;

            answerButton.SetAnswerIs(isCorrect);

            if (isCorrect)
            {
                await ShowPopup((c) => new CorrectPopup(e.Answer, c)).ConfigureAwait(true);

                _level.RightAfter(_tries, 4);
                if (_level.IsComplete)
                {
                    // Show level score
                    await ShowPopup((c) => new LevelDonePopup(_level, c)).ConfigureAwait(true);

                    // Increase level
                    _level = _levelFactory.NextLevel(_level);
                }

                // Start next level
                SetTimes(_level);
                _tries = 0;
            }
            else
            {
                await ShowPopup((c) => new WrongPopup(e.Answer, c)).ConfigureAwait(true);
            }
        }
Exemplo n.º 2
0
        private void ClockClicked(object sender, EventArgs e)
        {
            if (!(sender is ClockAnswerButton clock))
            {
                throw new Exception($"{sender.GetType()} is not a Clock");
            }

            var timeEventArgs = new AnsweredEventArgs <LocalTime>(clock.Time);

            _onTimeSelected?.Invoke(sender, timeEventArgs);
        }
Exemplo n.º 3
0
        private void ClockClicked(object sender, EventArgs e)
        {
            if (!(sender is Button clock))
            {
                throw new Exception($"{sender.GetType()} is not a Button");
            }

            var time = clock.CommandParameter as LocalTime?;

            if (time == null)
            {
                throw new ArgumentException("Clicked thing did not have a time");
            }

            var timeEventArgs = new AnsweredEventArgs <LocalTime>((LocalTime)time);

            _onTimeSelected?.Invoke(sender, timeEventArgs);
        }