PKHeX/PKHeX.Core/Legality/Areas
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
..
EncounterArea.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea1.cs Refactoring: Move Source (Legality) (#3560) 2022-08-03 16:15:27 -07:00
EncounterArea2.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea3.cs Add specialized struct for Moveset and IV specs (#3572) 2022-08-21 17:34:32 -07:00
EncounterArea3XD.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea4.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea5.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea6AO.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea6XY.cs Replace u16 read with lib 2022-06-29 00:01:14 -07:00
EncounterArea7.cs Replace u16 read with lib 2022-06-29 00:01:14 -07:00
EncounterArea7b.cs Replace u16 read with lib 2022-06-29 00:01:14 -07:00
EncounterArea7g.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea8.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea8a.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
EncounterArea8b.cs Replace u16 read with lib 2022-06-29 00:01:14 -07:00
EncounterArea8g.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00