예제 #1
0
        /// <summary>
        /// Notifies subscribers of <see cref="NewJudgement"/> that a new judgement has occurred.
        /// </summary>
        /// <param name="result">The judgement scoring result to notify subscribers of.</param>
        protected void NotifyNewJudgement(JudgementResult result)
        {
            NewJudgement?.Invoke(result);

            if (HasCompleted)
            {
                AllJudged?.Invoke();
            }
        }
예제 #2
0
        /// <summary>
        /// Applies the score change of a <see cref="JudgementResult"/> to this <see cref="ScoreProcessor"/>.
        /// </summary>
        /// <param name="result">The <see cref="JudgementResult"/> to apply.</param>
        public void ApplyResult(JudgementResult result)
        {
            JudgedHits++;

            ApplyResultInternal(result);

            NewJudgement?.Invoke(result);

            if (HasCompleted)
            {
                AllJudged?.Invoke();
            }
        }
예제 #3
0
        /// <summary>
        /// Applies the score change of a <see cref="JudgementResult"/> to this <see cref="ScoreProcessor"/>.
        /// </summary>
        /// <param name="result">The <see cref="JudgementResult"/> to apply.</param>
        public void ApplyResult(JudgementResult result)
        {
            ApplyResultInternal(result);

            updateScore();
            updateFailed(result);

            NewJudgement?.Invoke(result);

            if (HasCompleted)
            {
                AllJudged?.Invoke();
            }
        }