PKHeX/PKHeX.Core/Legality/Structures/ILocation.cs
Kurt 4656909d98 Misc reorg
use shared class for pk1/2 setnotnicknamed
fix extendedeurope values (copypaste from extendedAmericas)
move ball out of verifiers, move nature/movetype with ball
2018-08-26 16:29:52 -07:00

35 lines
1,005 B
C#

namespace PKHeX.Core
{
public interface ILocation
{
int Location { get; set; }
int EggLocation { get; set; }
}
public static partial class Extensions
{
public static int GetLocation(this ILocation encounter)
{
if (encounter == null)
return -1;
return encounter.Location != 0
? encounter.Location
: encounter.EggLocation;
}
internal static string GetEncounterLocation(this ILocation Encounter, int gen, int version = -1)
{
int loc = Encounter.GetLocation();
if (loc < 0)
return null;
if (version == (int)GameVersion.CXD) // handle C/XD locations
{
var locs = GameInfo.Strings.metCXD_00000;
return loc >= locs.Length ? null : locs[loc];
}
return GameInfo.GetLocationName(loc != Encounter.Location, loc, gen, gen);
}
}
}