protected override void InitializeScoreboard() { localPlayerMatchId = Match.findPlayerFromId(GameBase.User.Id); if (localPlayerMatchId < 0) { ErrorSubmission.Submit(new OsuError(new Exception("local user id:" + GameBase.User.Id + "\n" + "Match contains:" + Match.slotId[0] + @"," + Match.slotId[1] + @"," + Match.slotId[2] + @"," + Match.slotId[3] + @"," + Match.slotId[4] + @"," + Match.slotId[5] + @"," + Match.slotId[6] + @"," + Match.slotId[7])) { Feedback = "local player wasnt in the mp match" }); MatchSetup.LeaveGame(); return; } ScoreEntries.Clear(); ScoreBoard = MultiRuleset.CreateScoreboard(); if (Ruleset.ScoreboardOnRight) { ScoreBoard.DisplayOnRight = true; } ScoreBoard.AllowTies = true; MultiRuleset.PopulateScoreboard(); if (TeamMode) { TeamOverlay = new TeamplayOverlay(this, ScoreBoard.spriteManager); } base.InitializeScoreboard(); }
public static void DisposeStatic() { GameBase.Scheduler.Add(delegate { if (ScoreBoard != null) { ScoreBoard.Dispose(); ScoreBoard = null; } if (TeamOverlay != null) { TeamOverlay.Dispose(); TeamOverlay = null; } LastScoreEntries = null; if (GameBase.Mode != OsuModes.Play) { Match = null; } }); }