PKHeX/PKHeX.Core/Legality/Enums/EncounterTime.cs
Kurt 1486b7f14a Misc style & minor tweaks
Remove move combobox flicker hack (no longer necessary)
Add more Array.Empty usages
cache mysterygift sizes
seal some classes

no functionality changes
2018-08-02 20:11:42 -07:00

31 lines
No EOL
774 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 == EncounterTime.Any || (t1 & (EncounterTime)(1 << t2)) != 0;
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;
}
}
}