示例#1
0
        internal PlayerVs(ClientSideMatch matchInfo)
        {
            Match    = matchInfo;
            Mode     = Match.playMode;
            TeamMode = matchInfo.TeamMode;

            switch (Match.matchTeamType)
            {
            case MatchTeamTypes.HeadToHead:
                MultiRuleset = new MultiRulesetVs(this);
                break;

            case MatchTeamTypes.TeamVs:
                MultiRuleset = new MultiRulesetTeamVs(this);
                break;

            case MatchTeamTypes.TagCoop:
            case MatchTeamTypes.TagTeamVs:
                MultiRuleset = new MultiRulesetTagCoop(this);
                break;
            }

            Instance = this;

            NotificationManager.ClearMessageMassive();
        }
示例#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;
                }
            });
        }