PKHeX/PKHeX.Core/Legality/Enums/EncounterTime.cs
Kurt d4e38dded0 Refactor time of day check/validate
Fixes time of day flitering property reference (met_day is always 0, so
it never reached)
2018-04-01 20:22:10 -07:00

30 lines
No EOL
746 B
C#

using System;
namespace PKHeX.Core
{
/// <summary>
/// Generation 2 Time of Encounter enum
/// </summary>
[Flags]
internal enum EncounterTime
{
Any = 0,
Morning = 1 << 1,
Day = 1 << 2,
Night = 1 << 3,
}
internal static class EncounterTimeExtension
{
internal static bool Contains(this EncounterTime t1, int t2) => t1.HasFlag((EncounterTime)(1 << t2));
internal static int RandomValidTime(this EncounterTime t1)
{
int val = Util.Rand.Next(1, 4);
if (t1 == EncounterTime.Any)
return val;
while (!t1.Contains(val))
val = Util.Rand.Next(1, 4);
return val;
}
}
}