1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 06:52:55 +08:00
osu-lazer/osu.Game/Tests/Rulesets/TestRulesetConfigCache.cs
為什麼 d39f53f1f0 Mark CreateConfig() return type as nullable because it's not required all ruleset to implement.
Also, remove nullable disable annotation for all using classes.

Setting store can be nullable because `RulesetConfigManager()` can accept null setting store.
2022-07-10 10:15:27 +08:00

20 lines
812 B
C#

// 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.
using System.Collections.Concurrent;
using osu.Game.Rulesets;
using osu.Game.Rulesets.Configuration;
namespace osu.Game.Tests.Rulesets
{
/// <summary>
/// Test implementation of a <see cref="IRulesetConfigCache"/>, which ensures isolation between test scenes.
/// </summary>
public class TestRulesetConfigCache : IRulesetConfigCache
{
private readonly ConcurrentDictionary<string, IRulesetConfigManager?> configCache = new ConcurrentDictionary<string, IRulesetConfigManager?>();
public IRulesetConfigManager? GetConfigFor(Ruleset ruleset) => configCache.GetOrAdd(ruleset.ShortName, _ => ruleset.CreateConfig(null));
}
}