mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
parent
ab4c3fc7ac
commit
adeaaea0b4
1 changed files with 22 additions and 3 deletions
|
@ -111,8 +111,7 @@ namespace PKHeX.Core
|
|||
/// <returns>True if any files are imported.</returns>
|
||||
public static bool LoadBoxes(this SaveFile SAV, IEnumerable<string> filepaths, out string result, int boxStart = 0, bool boxClear = false, bool? noSetb = null)
|
||||
{
|
||||
int generation = SAV.Generation;
|
||||
var pks = GetPKMsFromPaths(filepaths, generation);
|
||||
var pks = GetPossiblePKMsFromPaths(SAV, filepaths);
|
||||
return SAV.LoadBoxes(pks, out result, boxStart, boxClear, noSetb);
|
||||
}
|
||||
|
||||
|
@ -162,7 +161,7 @@ namespace PKHeX.Core
|
|||
return true;
|
||||
}
|
||||
|
||||
private static IEnumerable<PKM> GetPKMsFromPaths(IEnumerable<string> filepaths, int generation)
|
||||
public static IEnumerable<PKM> GetPKMsFromPaths(IEnumerable<string> filepaths, int generation)
|
||||
{
|
||||
return filepaths
|
||||
.Where(file => PKX.IsPKM(new FileInfo(file).Length))
|
||||
|
@ -170,5 +169,25 @@ namespace PKHeX.Core
|
|||
.Select(data => PKMConverter.GetPKMfromBytes(data, prefer: generation))
|
||||
.Where(temp => temp != null);
|
||||
}
|
||||
|
||||
private static IEnumerable<PKM> GetPossiblePKMsFromPaths(SaveFile sav, IEnumerable<string> filepaths)
|
||||
{
|
||||
foreach (var f in filepaths)
|
||||
{
|
||||
var obj = FileUtil.GetSupportedFile(f, sav);
|
||||
switch (obj)
|
||||
{
|
||||
case PKM pk:
|
||||
yield return pk;
|
||||
break;
|
||||
case MysteryGift g when g.IsPokémon:
|
||||
yield return g.ConvertToPKM(sav);
|
||||
break;
|
||||
case GP1 g when g.Species != 0:
|
||||
yield return g.ConvertToPB7(sav);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue