/// <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()); } }
/// <summary> /// Handles messages from IPC /// </summary> /// <param name="message"></param> public static void HandleMessage(string message) { Logger.Important($"Received IPC Message: {message}", LogType.Runtime); if (message.StartsWith(protocolUriStarter)) { HandleProtocolMessage(message.Substring(protocolUriStarter.Length)); } else { // Quaver was launched with a file path, try to import it. MapsetImporter.ImportFile(message); } }
/// <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(); }