Exemple #1
0
        public override void Initialize()
        {
            BeatmapManager.Initialize();

            BeatmapManager.DatabaseSerialize();

            if (!(ConfigManager.sSaveUsername && ConfigManager.sSavePassword))
            {
                TopMostMessageBox.Show(LocalisationManager.GetString(OsuString.Tournament_MessageRememberCredentials));
                OsuMain.ExitImmediately();
                return;
            }

            int connectPeriod = 10000;

            while (!BanchoClient.Connected && (connectPeriod -= 50) > 0)
            {
                Thread.Sleep(50);
            }

            if (!BanchoClient.Connected)
            {
                TopMostMessageBox.Show(LocalisationManager.GetString(OsuString.Tournament_ClientCouldNotConnect));
                OsuMain.ExitImmediately();
                return;
            }

#if !DEBUG
            if ((BanchoClient.Permission & Permissions.Tournament) == 0)
            {
                TopMostMessageBox.Show(LocalisationManager.GetString(OsuString.Tournament_MessageNoAccess));
                OsuMain.ExitImmediately();
                return;
            }
#endif

            initializeSprites();

            clients = new TournamentClientManager(this, spriteManager);
            Lobby   = new TournamentLobby(this, spriteManager, 1.01f);

            base.Initialize();

            StateChanged += stateChanged;
            State         = TourneyState.Idle;
        }
Exemple #2
0
        public void ReloadDatabase()
        {
            GameBase.Scheduler.Add(delegate
            {
                if (!GameBase.Tournament)
                {
                    return;
                }
                if (GameBase.FadeState != FadeStates.Idle)
                {
                    return;
                }

                BeatmapManager.Initialize(true);

                if (GameBase.Mode != OsuModes.Play)
                {
                    StreamingManager.StopSpectating();
                    StreamingManager.StartSpectating(StreamingManager.CurrentlySpectating);
                }
            });
        }
Exemple #3
0
        public void SetBeatmap(string checksum)
        {
            if (!GameBase.Tournament)
            {
                return;
            }
            if (GameBase.FadeState != FadeStates.Idle)
            {
                return;
            }
            if (GameBase.Mode == OsuModes.Play)
            {
                return;
            }

            GameBase.Scheduler.Add(() =>
            {
                Beatmap b = BeatmapManager.GetBeatmapByChecksum(checksum);

                if (b == null)
                {
                    BeatmapManager.Initialize(true);
                    b = BeatmapManager.GetBeatmapByChecksum(checksum);
                }

                if (BeatmapManager.Current == b)
                {
                    return;
                }

                if (b != null)
                {
                    BeatmapManager.Current = b;
                    AudioEngine.LoadAudioForPreview(BeatmapManager.Current, true, true, false);
                }
            });
        }