PKHeX/PKHeX.Core/Legality/Encounters/EncounterStatic
Kurt 6441bdadd8
Add specialized struct for Moveset and IV specs (#3572)
`Moveset` struct stores 4 moves, and exposes methods to interact with a moveset.
`IndividualValueSet` stores a 6 IV template (signed).

Performance impact:
* Less allocating on the heap: Moves - (8 bytes member ptr, 20 bytes heap->8 bytes member)
* Less allocating on the heap: IVs - (8 bytes member ptr, 28 bytes heap->8 bytes member)
* No heap pointers, no need to jump to grab data.
* Easy to inline logic for checking if moves are present (no linq usage with temporary collections).

End result is faster ctor times, less memory used, faster program.
2022-08-21 17:34:32 -07:00
..
DreamWorldEntry.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic1.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic1E.cs Add more xmldoc 2022-08-21 01:39:16 -07:00
EncounterStatic2.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic2E.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic3.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic4.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic4Pokewalker.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic5.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic5DR.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic5N.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic6.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic7.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic7b.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic8.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic8a.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterStatic8b.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic8N.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic8NC.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic8ND.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic8Nest.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterStatic8S.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStatic8U.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterStaticShadow.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00