mirror of
https://github.com/osukey/osukey.git
synced 2025-05-29 09:27:18 +09:00
Merge pull request #20281 from peppy/fix-drawable-ruleset-dependencies
Fix null considerations in `DrawableRulesetDependencies`
This commit is contained in:
commit
62971ef1cc
@ -1,8 +1,6 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
#nullable disable
|
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -12,6 +10,7 @@ using osu.Framework.Allocation;
|
|||||||
using osu.Framework.Audio;
|
using osu.Framework.Audio;
|
||||||
using osu.Framework.Audio.Sample;
|
using osu.Framework.Audio.Sample;
|
||||||
using osu.Framework.Bindables;
|
using osu.Framework.Bindables;
|
||||||
|
using osu.Framework.Extensions.ObjectExtensions;
|
||||||
using osu.Framework.Graphics.Rendering;
|
using osu.Framework.Graphics.Rendering;
|
||||||
using osu.Framework.Graphics.Shaders;
|
using osu.Framework.Graphics.Shaders;
|
||||||
using osu.Framework.Graphics.Textures;
|
using osu.Framework.Graphics.Textures;
|
||||||
@ -44,9 +43,9 @@ namespace osu.Game.Rulesets.UI
|
|||||||
public ShaderManager ShaderManager { get; }
|
public ShaderManager ShaderManager { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The ruleset config manager.
|
/// The ruleset config manager. May be null if ruleset does not expose a configuration manager.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IRulesetConfigManager RulesetConfigManager { get; private set; }
|
public IRulesetConfigManager? RulesetConfigManager { get; }
|
||||||
|
|
||||||
public DrawableRulesetDependencies(Ruleset ruleset, IReadOnlyDependencyContainer parent)
|
public DrawableRulesetDependencies(Ruleset ruleset, IReadOnlyDependencyContainer parent)
|
||||||
: base(parent)
|
: base(parent)
|
||||||
@ -93,10 +92,9 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
isDisposed = true;
|
isDisposed = true;
|
||||||
|
|
||||||
SampleStore?.Dispose();
|
if (ShaderManager.IsNotNull()) SampleStore.Dispose();
|
||||||
TextureStore?.Dispose();
|
if (TextureStore.IsNotNull()) TextureStore.Dispose();
|
||||||
ShaderManager?.Dispose();
|
if (ShaderManager.IsNotNull()) ShaderManager.Dispose();
|
||||||
RulesetConfigManager = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -157,7 +155,7 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
primary?.Dispose();
|
if (primary.IsNotNull()) primary.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,7 +180,7 @@ namespace osu.Game.Rulesets.UI
|
|||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
primary?.Dispose();
|
if (primary.IsNotNull()) primary.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,12 +196,12 @@ namespace osu.Game.Rulesets.UI
|
|||||||
this.fallback = fallback;
|
this.fallback = fallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] LoadRaw(string name) => primary.LoadRaw(name) ?? fallback.LoadRaw(name);
|
public override byte[]? LoadRaw(string name) => primary.LoadRaw(name) ?? fallback.LoadRaw(name);
|
||||||
|
|
||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
primary?.Dispose();
|
if (primary.IsNotNull()) primary.Dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user