Ejemplo n.º 1
0
        /// <summary>
        ///     Performs any initial setup the game needs to run.
        /// </summary>
        private void PerformGameSetup()
        {
            ConfigManager.Initialize();

            DeleteTemporaryFiles();

            ScoreDatabaseCache.CreateTable();
            MapDatabaseCache.Load(false);
            QuaverSettingsDatabaseCache.Initialize();

            // Force garabge collection.
            GC.Collect();

            // Start watching for mapset changes in the folder.
            MapsetImporter.WatchForChanges();

            // Initially set the global volume.
            AudioTrack.GlobalVolume  = ConfigManager.VolumeGlobal.Value;
            AudioSample.GlobalVolume = ConfigManager.VolumeEffect.Value;

            ConfigManager.VolumeGlobal.ValueChanged += (sender, e) =>
            {
                AudioTrack.GlobalVolume  = e.Value;
                AudioSample.GlobalVolume = e.Value;
            };;

            ConfigManager.VolumeMusic.ValueChanged += (sender, e) => { if (AudioEngine.Track != null)
                                                                       {
                                                                           AudioEngine.Track.Volume = e.Value;
                                                                       }
            };
            ConfigManager.VolumeEffect.ValueChanged     += (sender, e) => AudioSample.GlobalVolume = e.Value;
            ConfigManager.Pitched.ValueChanged          += (sender, e) => AudioEngine.Track.ToggleRatePitching(e.Value);
            ConfigManager.FpsLimiterType.ValueChanged   += (sender, e) => InitializeFpsLimiting();
            ConfigManager.WindowFullScreen.ValueChanged += (sender, e) => Graphics.IsFullScreen = e.Value;

            // Handle discord rich presence.
            DiscordHelper.Initialize("376180410490552320");
            DiscordHelper.Presence = new DiscordRpc.RichPresence()
            {
                LargeImageKey  = "quaver",
                LargeImageText = ConfigManager.Username.Value,
                EndTimestamp   = 0
            };

            DiscordRpc.UpdatePresence(ref DiscordHelper.Presence);

            // Create bindable for selected map.
            if (MapManager.Mapsets.Count != 0)
            {
                MapManager.Selected = new Bindable <Map>(MapManager.Mapsets.First().Maps.First());
            }
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        public override void OnFirstUpdate()
        {
            ThreadScheduler.Run(() =>
            {
                MapsetImporter.ImportMapsetsInQueue();

                if (QuaverSettingsDatabaseCache.OutdatedMaps.Count != 0)
                {
                    var view         = View as ImportingScreenView;
                    view.Header.Text = "Please wait while we're recalculating map difficulties";
                    QuaverSettingsDatabaseCache.RecalculateDifficultiesForOutdatedMaps();;
                }

                OnImportCompletion();
            });

            base.OnFirstUpdate();
        }