PKHeX/PKHeX.Core/Saves/Substructures/Battle Videos/BattleVideo.cs

35 lines
836 B
C#
Raw Normal View History

using System;
using System.Collections.Generic;
namespace PKHeX.Core;
public abstract class BattleVideo : IPokeGroup
{
public abstract IReadOnlyList<PKM> BattlePKMs { get; }
public abstract int Generation { get; }
public IEnumerable<PKM> Contents => BattlePKMs;
public static BattleVideo? GetVariantBattleVideo(byte[] data)
{
if (BV6.IsValid(data))
return new BV6(data);
if (BV7.IsValid(data))
return new BV7(data);
if (BV3.IsValid(data))
return new BV3(data);
return null;
}
public static bool IsValid(ReadOnlySpan<byte> data)
{
if (BV6.IsValid(data))
return true;
if (BV7.IsValid(data))
return true;
if (BV3.IsValid(data))
return true;
return false;
}
}