// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using System; namespace osu.Game.Beatmaps { public interface IWorkingBeatmapCache { /// /// Retrieve a instance for the provided /// /// The beatmap to lookup. /// A instance correlating to the provided . WorkingBeatmap GetWorkingBeatmap(BeatmapInfo beatmapInfo); /// /// Invalidate a cache entry if it exists. /// /// The beatmap set info to invalidate any cached entries for. void Invalidate(BeatmapSetInfo beatmapSetInfo); /// /// Invalidate a cache entry if it exists. /// /// The beatmap info to invalidate any cached entries for. void Invalidate(BeatmapInfo beatmapInfo); event Action OnInvalidated; } }