2021-10-11 14:25:00 +08:00
// 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.Generic ;
2022-08-10 14:48:38 +08:00
using osu.Game.Beatmaps ;
2021-10-11 14:25:00 +08:00
using osu.Game.Models ;
namespace osu.Game.Database
{
/// <summary>
/// A model that contains a list of files it is responsible for.
/// </summary>
2023-10-26 20:46:24 +08:00
public interface IHasRealmFiles : IHasNamedFiles
2021-10-11 14:25:00 +08:00
{
2022-08-10 14:48:38 +08:00
/// <summary>
/// Available files in this model, with locally filenames.
2022-08-10 18:53:40 +08:00
/// When performing lookups, consider using <see cref="BeatmapSetInfoExtensions.GetFile"/> or <see cref="BeatmapSetInfoExtensions.GetPathForFile"/> to do case-insensitive lookups.
2022-08-10 14:48:38 +08:00
/// </summary>
2023-10-26 20:46:24 +08:00
new IList < RealmNamedFileUsage > Files { get ; }
IEnumerable < INamedFileUsage > IHasNamedFiles . Files = > Files ;
2021-10-11 14:25:00 +08:00
2022-08-10 14:48:38 +08:00
/// <summary>
/// A combined hash representing the model, based on the files it contains.
/// Implementation specific.
/// </summary>
2021-10-11 14:25:00 +08:00
string Hash { get ; set ; }
}
}