Exemplo n.º 1
0
        public void OnNoteWasFullyCut(AfterCutScoreBuffer acsb)
        {
            int score;
            int afterScore;
            int cutDistanceScore;

            NoteCutInfo noteCutInfo = (NoteCutInfo)noteCutInfoField.GetValue(acsb);
            NoteData    noteData    = noteCutMapping[noteCutInfo];

            noteCutMapping.Remove(noteCutInfo);

            SetNoteCutStatus(noteData, noteCutInfo);

            // public ScoreController.RawScoreWithoutMultiplier(NoteCutInfo, SaberAfterCutSwingRatingCounter, out int beforeCutScore, out int afterCutScore, out int cutDistanceScore)
            ScoreController.RawScoreWithoutMultiplier(noteCutInfo, null, out score, out afterScore, out cutDistanceScore);

            int multiplier = (int)afterCutScoreBufferMultiplierField.GetValue(acsb);

            afterScore = (int)afterCutScoreWithMultiplierField.GetValue(acsb) / multiplier;

            statusManager.gameStatus.initialScore  = score;
            statusManager.gameStatus.finalScore    = score + afterScore;
            statusManager.gameStatus.cutMultiplier = multiplier;

            statusManager.EmitStatusUpdate(ChangedProperties.PerformanceAndNoteCut, "noteFullyCut");

            acsb.didFinishEvent -= OnNoteWasFullyCut;
        }
Exemplo n.º 2
0
        private void OnNoteWasFullyCut(AfterCutScoreBuffer buffer)
        {
            int score, afterScore, cutDistanceScore;

            NoteCutInfo info = (NoteCutInfo)noteCutInfoField.GetValue(buffer);
            NoteData    data = noteCutMapping[info];

            noteCutMapping.Remove(info);
            SetNoteCutStatus(data, info);

            ScoreController.ScoreWithoutMultiplier(info, null, out score, out afterScore, out cutDistanceScore);
            int multiplier = (int)afterCutScoreBufferMultiplierField.GetValue(buffer);

            afterScore = (int)afterCutScoreWithMultiplierField.GetValue(buffer) / multiplier;

            Data.initialScore = score;
            Data.finalScore   = score + afterScore;
            Data.multiplier   = multiplier;

            Data.StatusChange(ChangedProperties.PerformanceAndNoteCut, "noteFullyCut");

            buffer.didFinishEvent -= OnNoteWasFullyCut;
        }