mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
add id for uigf import in-compat
This commit is contained in:
@@ -55,6 +55,7 @@
|
||||
<!-- ProgressBar -->
|
||||
<x:Double x:Key="LargeBackgroundProgressBarOpacity">0.2</x:Double>
|
||||
|
||||
<ThemeShadow x:Key="CompatShadow" />
|
||||
<!-- Brushes -->
|
||||
<SolidColorBrush x:Key="AvatarPropertyAddValueBrush" Color="{ThemeResource AvatarPropertyAddValueColor}"/>
|
||||
<SolidColorBrush x:Key="BlueBrush" Color="#FF5180CB"/>
|
||||
|
||||
@@ -48,17 +48,20 @@ internal sealed class UIGF
|
||||
/// <summary>
|
||||
/// 列表物品是否正常
|
||||
/// </summary>
|
||||
/// <param name="itemId">首个出错的Id</param>
|
||||
/// <returns>是否正常</returns>
|
||||
public bool IsMajor2Minor2OrLowerListValid()
|
||||
public bool IsMajor2Minor2OrLowerListValid([NotNullWhen(false)] out long itemId)
|
||||
{
|
||||
foreach (UIGFItem item in List)
|
||||
{
|
||||
if (item.ItemType != SH.ModelInterchangeUIGFItemTypeAvatar || item.ItemType != SH.ModelInterchangeUIGFItemTypeWeapon)
|
||||
{
|
||||
itemId = item.Id;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
itemId = 0;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -116,13 +116,14 @@ internal sealed partial class GachaLogViewModel : Abstraction.ViewModel
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool CanImport(UIGFVersion version, UIGF uigf)
|
||||
private static bool CanImport(UIGFVersion version, UIGF uigf, out long id)
|
||||
{
|
||||
id = 0;
|
||||
if (version == UIGFVersion.Major2Minor3OrHigher)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (version == UIGFVersion.Major2Minor2OrLower && uigf.IsMajor2Minor2OrLowerListValid())
|
||||
else if (version == UIGFVersion.Major2Minor2OrLower && uigf.IsMajor2Minor2OrLowerListValid(out id))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -354,7 +355,7 @@ internal sealed partial class GachaLogViewModel : Abstraction.ViewModel
|
||||
GachaLogImportDialog importDialog = await contentDialogFactory.CreateInstanceAsync<GachaLogImportDialog>(uigf).ConfigureAwait(false);
|
||||
if (await importDialog.GetShouldImportAsync().ConfigureAwait(false))
|
||||
{
|
||||
if (CanImport(version, uigf))
|
||||
if (CanImport(version, uigf, out long itemId))
|
||||
{
|
||||
await taskContext.SwitchToMainThreadAsync();
|
||||
ContentDialog dialog = await contentDialogFactory.CreateForIndeterminateProgressAsync(SH.ViewModelGachaLogImportProgress).ConfigureAwait(true);
|
||||
@@ -384,7 +385,7 @@ internal sealed partial class GachaLogViewModel : Abstraction.ViewModel
|
||||
}
|
||||
else
|
||||
{
|
||||
infoBarService.Warning(SH.ViewModelGachaLogImportWarningTitle, SH.ViewModelGachaLogImportWarningMessage2);
|
||||
infoBarService.Warning(SH.ViewModelGachaLogImportWarningTitle, SH.ServiceGachaLogUIGFImportItemInvalidFormat.Format(itemId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user