1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-21 03:39:53 +08:00

ExportAsync use TModel

This commit is contained in:
cdwcgt
2022-12-10 00:43:03 +09:00
Unverified
parent 405985ec5b
commit 951302fe61
+12 -15
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);
}
}