PKHeX/PKHeX.Core/Legality/Enums/EncounterTime.cs
Kurt fc754b346b
File scoped namespaces (#3529)
[Language Reference](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/file-scoped-namespaces)

Updates all the files, one less level of indentation.

Some small changes were made to API surfaces, renaming `PKM pkm` -> `PKM pk`, and `LegalityAnalysis.pkm` -> `LegalityAnalysis.Entity`
2022-06-18 11:04:24 -07:00

31 lines
701 B
C#

using System;
namespace PKHeX.Core;
/// <summary>
/// Generation 2 Time of Encounter enum
/// </summary>
[Flags]
internal enum EncounterTime : byte
{
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)
{
var rnd = Util.Rand;
int val = rnd.Next(1, 4);
if (t1 == EncounterTime.Any)
return val;
while (!t1.Contains(val))
val = rnd.Next(1, 4);
return val;
}
}