mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-27 14:30:56 +00:00
f632aedd15
We implement simple state machine iterators to iterate through every split type encounter array, and more finely control the path we iterate through. And, by using generics, we can have the compiler generate optimized code to avoid virtual calls. In addition to this, we shift away from the big-5 encounter types and not inherit from an abstract class. This allows for creating a PK* of a specific type and directly writing properties (no virtual calls). Plus we can now fine-tune each encounter type to call specific code, and not have to worry about future game encounter types bothering the generation routines.
161 lines
4.6 KiB
C#
161 lines
4.6 KiB
C#
namespace PKHeX.Core;
|
|
|
|
/// <summary> Identification flair for what properties a <see cref="CheckResult"/> pertains to </summary>
|
|
public enum CheckIdentifier : byte
|
|
{
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Moves"/>.
|
|
/// </summary>
|
|
CurrentMove,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.RelearnMoves"/>.
|
|
/// </summary>
|
|
RelearnMove,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/>'s matched encounter information.
|
|
/// </summary>
|
|
Encounter,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.IsShiny"/> status.
|
|
/// </summary>
|
|
Shiny,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.EncryptionConstant"/>.
|
|
/// </summary>
|
|
EC,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.PID"/>.
|
|
/// </summary>
|
|
PID,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Gender"/>.
|
|
/// </summary>
|
|
Gender,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="EffortValues"/>.
|
|
/// </summary>
|
|
EVs,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Language"/>.
|
|
/// </summary>
|
|
Language,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Nickname"/>.
|
|
/// </summary>
|
|
Nickname,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.OT_Name"/>, <see cref="PKM.TID16"/>, or <see cref="PKM.SID16"/>.
|
|
/// </summary>
|
|
Trainer,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.IVs"/>.
|
|
/// </summary>
|
|
IVs,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Met_Level"/> or <see cref="PKM.CurrentLevel"/>.
|
|
/// </summary>
|
|
Level,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Ball"/>.
|
|
/// </summary>
|
|
Ball,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> memory data.
|
|
/// </summary>
|
|
Memory,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> geography data.
|
|
/// </summary>
|
|
Geography,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Form"/>.
|
|
/// </summary>
|
|
Form,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.IsEgg"/> status.
|
|
/// </summary>
|
|
Egg,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> miscellaneous properties.
|
|
/// </summary>
|
|
Misc,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.FatefulEncounter"/>.
|
|
/// </summary>
|
|
Fateful,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> ribbon data.
|
|
/// </summary>
|
|
Ribbon,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> super training data.
|
|
/// </summary>
|
|
Training,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Ability"/>.
|
|
/// </summary>
|
|
Ability,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> evolution chain relative to the matched encounter.
|
|
/// </summary>
|
|
Evolution,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM.Nature"/>.
|
|
/// </summary>
|
|
Nature,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/>'s <see cref="PKM.Version"/> compatibility.
|
|
/// <remarks>This is used for parsing checks to ensure the <see cref="PKM"/> didn't debut on a future <see cref="PKM.Generation"/></remarks>
|
|
/// </summary>
|
|
GameOrigin,
|
|
|
|
/// <summary>
|
|
/// The CheckResult pertains to the <see cref="PKM.HeldItem"/>.
|
|
/// </summary>
|
|
HeldItem,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> <see cref="IRibbonSetMark8"/>.
|
|
/// </summary>
|
|
RibbonMark,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="IGanbaru"/> values.
|
|
/// </summary>
|
|
GVs,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to <see cref="PKM.MarkValue"/> values.
|
|
/// </summary>
|
|
Marking,
|
|
|
|
/// <summary>
|
|
/// The <see cref="CheckResult"/> pertains to the <see cref="PKM"/> <see cref="IAwakened"/> values.
|
|
/// </summary>
|
|
AVs,
|
|
}
|