PKHeX/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs
2021-09-21 19:42:14 -07:00

43 lines
1.5 KiB
C#

namespace PKHeX.Core
{
/// <summary>
/// Encounter data from <see cref="GameVersion.GO"/>, which has multiple generations of origin.
/// </summary>
#if !DEBUG
internal static class EncountersGO
{
internal const int MAX_LEVEL = 50;
internal static readonly EncounterArea7g[] SlotsGO_GG = EncounterArea7g.GetArea(Get("go_lgpe", "go"));
internal static readonly EncounterArea8g[] SlotsGO = EncounterArea8g.GetArea(Get("go_home", "go"));
private static byte[][] Get(string resource, string ident)
{
var name = $"encounter_{resource}.pkl";
var data = Util.GetBinaryResource(name);
return BinLinker.Unpack(data, ident);
}
}
#else
public static class EncountersGO
{
internal const int MAX_LEVEL = 50;
internal static EncounterArea7g[] SlotsGO_GG = EncounterArea7g.GetArea(Get("go_lgpe", "go"));
internal static EncounterArea8g[] SlotsGO = EncounterArea8g.GetArea(Get("go_home", "go"));
public static void Reload()
{
SlotsGO_GG = EncounterArea7g.GetArea(Get("go_lgpe", "go"));
SlotsGO = EncounterArea8g.GetArea(Get("go_home", "go"));
}
private static byte[][] Get(string resource, string ident)
{
var name = $"encounter_{resource}.pkl";
var data = System.IO.File.Exists(name) ? System.IO.File.ReadAllBytes(name) : Util.GetBinaryResource(name);
return BinLinker.Unpack(data, ident);
}
}
#endif
}