// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Audio; using osu.Framework.Graphics.Rendering; using osu.Framework.Graphics.Textures; using osu.Framework.IO.Stores; using osu.Game.Database; namespace osu.Game.IO { public interface IStorageResourceProvider { /// /// The game renderer. /// IRenderer Renderer { get; } /// /// Retrieve the game-wide audio manager. /// AudioManager? AudioManager { get; } /// /// Access game-wide user files. /// IResourceStore Files { get; } /// /// Access game-wide resources. /// IResourceStore Resources { get; } /// /// Access realm. /// RealmAccess RealmAccess { get; } /// /// Create a texture loader store based on an underlying data store. /// /// The underlying provider of texture data (in arbitrary image formats). /// A texture loader store. IResourceStore? CreateTextureLoaderStore(IResourceStore underlyingStore); } }