Exemple #1
0
        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();
        }
Exemple #2
0
        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;
                }
            });
        }