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; }
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; }