1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-13 11:12:54 +08:00

ExportAsync use TModel

This commit is contained in:
cdwcgt 2022-12-10 00:43:03 +09:00
parent 405985ec5b
commit 951302fe61
No known key found for this signature in database
GPG Key ID: 144396D01095C3A2

View File

@ -58,24 +58,21 @@ namespace osu.Game.Database
/// <summary>
/// Export the model to default folder.
/// </summary>
/// <param name="item">The model should export.</param>
/// <param name="model">The model should export.</param>
/// <returns></returns>
public async Task ExportAsync(RealmObject item)
public async Task ExportAsync(TModel model)
{
if (item is TModel model)
notifications?.Post(notification);
string itemFilename = model.GetDisplayString().GetValidFilename();
IEnumerable<string> existingExports = exportStorage.GetFiles("", $"{itemFilename}*{FileExtension}");
string filename = NamingUtils.GetNextBestFilename(existingExports, $"{itemFilename}{FileExtension}");
notification.CompletionClickAction += () => exportStorage.PresentFileExternally(filename);
using (var stream = exportStorage.CreateFileSafely(filename))
{
notifications?.Post(notification);
string itemFilename = item.GetDisplayString().GetValidFilename();
IEnumerable<string> existingExports = exportStorage.GetFiles("", $"{itemFilename}*{FileExtension}");
string filename = NamingUtils.GetNextBestFilename(existingExports, $"{itemFilename}{FileExtension}");
notification.CompletionClickAction += () => exportStorage.PresentFileExternally(filename);
using (var stream = exportStorage.CreateFileSafely(filename))
{
await ExportToStreamAsync(model, stream);
}
await ExportToStreamAsync(model, stream);
}
}