PKHeX/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs

44 lines
1.5 KiB
C#
Raw Normal View History

namespace PKHeX.Core
{
/// <summary>
/// Encounter data from <see cref="GameVersion.GO"/>, which has multiple generations of origin.
/// </summary>
2021-09-22 02:42:14 +00:00
#if !DEBUG
internal static class EncountersGO
{
internal const int MAX_LEVEL = 50;
2020-11-13 04:41:01 +00:00
internal static readonly EncounterArea7g[] SlotsGO_GG = EncounterArea7g.GetArea(Get("go_lgpe", "go"));
internal static readonly EncounterArea8g[] SlotsGO = EncounterArea8g.GetArea(Get("go_home", "go"));
2020-11-13 04:41:01 +00:00
private static byte[][] Get(string resource, string ident)
{
var name = $"encounter_{resource}.pkl";
var data = Util.GetBinaryResource(name);
return BinLinker.Unpack(data, ident);
}
}
2021-09-22 02:42:14 +00:00
#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
}