/// <summary> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <exception cref="NotImplementedException"></exception> private void OnGameJudgements(object sender, GameJudgementsEventArgs e) { ScoreboardUser user = null; foreach (var u in Users) { if (u.LocalScore == null) { continue; } if (u.LocalScore.PlayerId == e.UserId) { user = u; break; } } if (user == null) { return; } foreach (var t in e.Judgements) { user.Judgements.Add(t); user.CalculateScoreForNextObject(t == e.Judgements.Last()); } SetTargetYPositions(); }
/// <summary> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <exception cref="NotImplementedException"></exception> private void OnPlayerBattleRoyaleEliminated(object sender, PlayerBattleRoyaleEliminatedEventArgs e) { ScoreboardUser user = null; foreach (var u in Users) { if (u.Type == ScoreboardUserType.Self && e.UserId == OnlineManager.Self.OnlineUser.Id) { user = u; SkinManager.Skin.SoundFailure.CreateChannel().Play(); break; } if (u.LocalScore != null && u.LocalScore.PlayerId == e.UserId) { user = u; break; } } if (user == null) { return; } user.Processor.MultiplayerProcessor.IsBattleRoyaleEliminated = true; BattleRoyalePlayersLeft.Value--; user.Rank = e.Rank; user.SetTintBasedOnHealth(); SetTargetYPositions(); var game = (QuaverGame)GameBase.Game; if (game.CurrentScreen is GameplayScreen screen) { screen.SetRichPresence(); } }