diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs
index 97f838032a..22502b661c 100644
--- a/osu.Game/OsuGameBase.cs
+++ b/osu.Game/OsuGameBase.cs
@@ -57,8 +57,34 @@ public class OsuGameBase : Framework.Game, ICanAcceptFiles
public const int SAMPLE_CONCURRENCY = 6;
+ ///
+ /// The maximum volume at which audio tracks should playback. This can be set lower than 1 to create some head-room for sound effects.
+ ///
+ internal const double GLOBAL_TRACK_VOLUME_ADJUST = 0.5;
+
public bool UseDevelopmentServer { get; }
+ public virtual Version AssemblyVersion => Assembly.GetEntryAssembly()?.GetName().Version ?? new Version();
+
+ ///
+ /// MD5 representation of the game executable.
+ ///
+ public string VersionHash { get; private set; }
+
+ public bool IsDeployedBuild => AssemblyVersion.Major > 0;
+
+ public virtual string Version
+ {
+ get
+ {
+ if (!IsDeployedBuild)
+ return @"local " + (DebugUtils.IsDebugBuild ? @"debug" : @"release");
+
+ var version = AssemblyVersion;
+ return $@"{version.Major}.{version.Minor}.{version.Build}";
+ }
+ }
+
protected OsuConfigManager LocalConfig { get; private set; }
protected SessionStatics SessionStatics { get; private set; }
@@ -118,32 +144,17 @@ public class OsuGameBase : Framework.Game, ICanAcceptFiles
private MultiplayerClient multiplayerClient;
+ private DatabaseContextFactory contextFactory;
+
protected override Container Content => content;
private Container content;
+ private DependencyContainer dependencies;
+
private Bindable fpsDisplayVisible;
- public virtual Version AssemblyVersion => Assembly.GetEntryAssembly()?.GetName().Version ?? new Version();
-
- ///
- /// MD5 representation of the game executable.
- ///
- public string VersionHash { get; private set; }
-
- public bool IsDeployedBuild => AssemblyVersion.Major > 0;
-
- public virtual string Version
- {
- get
- {
- if (!IsDeployedBuild)
- return @"local " + (DebugUtils.IsDebugBuild ? @"debug" : @"release");
-
- var version = AssemblyVersion;
- return $@"{version.Major}.{version.Minor}.{version.Build}";
- }
- }
+ private readonly BindableNumber globalTrackVolumeAdjust = new BindableNumber(GLOBAL_TRACK_VOLUME_ADJUST);
public OsuGameBase()
{
@@ -151,23 +162,14 @@ public OsuGameBase()
Name = @"osu!lazer";
}
- private DependencyContainer dependencies;
-
- protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) =>
- dependencies = new DependencyContainer(base.CreateChildDependencies(parent));
-
- private DatabaseContextFactory contextFactory;
-
protected override UserInputManager CreateUserInputManager() => new OsuUserInputManager();
protected virtual BatteryInfo CreateBatteryInfo() => null;
- ///
- /// The maximum volume at which audio tracks should playback. This can be set lower than 1 to create some head-room for sound effects.
- ///
- internal const double GLOBAL_TRACK_VOLUME_ADJUST = 0.5;
+ protected virtual Container CreateScalingContainer() => new DrawSizePreservingFillContainer();
- private readonly BindableNumber globalTrackVolumeAdjust = new BindableNumber(GLOBAL_TRACK_VOLUME_ADJUST);
+ protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) =>
+ dependencies = new DependencyContainer(base.CreateChildDependencies(parent));
[BackgroundDependencyLoader]
private void load()
@@ -345,6 +347,19 @@ List getBeatmapScores(BeatmapSetInfo set)
Ruleset.BindValueChanged(onRulesetChanged);
}
+ protected override void LoadComplete()
+ {
+ base.LoadComplete();
+
+ // TODO: This is temporary until we reimplement the local FPS display.
+ // It's just to allow end-users to access the framework FPS display without knowing the shortcut key.
+ fpsDisplayVisible = LocalConfig.GetBindable(OsuSetting.ShowFpsDisplay);
+ fpsDisplayVisible.ValueChanged += visible => { FrameStatistics.Value = visible.NewValue ? FrameStatisticsMode.Minimal : FrameStatisticsMode.None; };
+ fpsDisplayVisible.TriggerChange();
+
+ FrameStatistics.ValueChanged += e => fpsDisplayVisible.Value = e.NewValue != FrameStatisticsMode.None;
+ }
+
private void onRulesetChanged(ValueChangedEvent r)
{
var dict = new Dictionary>();
@@ -361,21 +376,6 @@ private void onRulesetChanged(ValueChangedEvent r)
AvailableMods.Value = dict;
}
- protected virtual Container CreateScalingContainer() => new DrawSizePreservingFillContainer();
-
- protected override void LoadComplete()
- {
- base.LoadComplete();
-
- // TODO: This is temporary until we reimplement the local FPS display.
- // It's just to allow end-users to access the framework FPS display without knowing the shortcut key.
- fpsDisplayVisible = LocalConfig.GetBindable(OsuSetting.ShowFpsDisplay);
- fpsDisplayVisible.ValueChanged += visible => { FrameStatistics.Value = visible.NewValue ? FrameStatisticsMode.Minimal : FrameStatisticsMode.None; };
- fpsDisplayVisible.TriggerChange();
-
- FrameStatistics.ValueChanged += e => fpsDisplayVisible.Value = e.NewValue != FrameStatisticsMode.None;
- }
-
private void runMigrations()
{
try