PKHeX/PKHeX.Core/PKM
Kurt fa9a809751
Encapsulate item pouch arrays/etc for finer control (#3860)
* Extract/encapsulate inventory legal arrays to interface+class

Hiding them behind methods allows these to be left as ReadOnlySpan<ushort> and thus never allocate on the heap.
Also refactors out some logic for checking if an item is legal.

End result feels more maintainable and is less bloaty (no more passing in a nullable func)

Batch editing
* Add HasType filter

```
=HasType=11
.HeldItem=Meadow Plate
```

slaps a meadow plate on any pkm with grass type
Use `=PersonalType1=11` for only primary grass types; only-secondary-type grass will not match it.
2023-04-16 12:58:07 -07:00
..
Enums Handle WC9.Scale spec per v1.2.0 patch changes 2023-04-02 01:19:33 -07:00
HOME Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
Interfaces Add learnset moves similar to games 2023-04-08 12:20:18 -07:00
Searching Span-ify MoveSetApplicator 2023-03-21 21:02:13 -07:00
Shared Less allocation, minor tweaks 2023-03-27 00:11:42 -07:00
Strings Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
Util Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
BK4.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
CK3.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PA8.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PB7.cs Minor clean 2023-04-13 00:05:10 -07:00
PB8.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK1.cs Less allocation, minor tweaks 2023-03-27 00:11:42 -07:00
PK2.cs Less allocation, minor tweaks 2023-03-27 00:11:42 -07:00
PK3.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK4.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK5.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK6.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK7.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK8.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PK9.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
PKM.cs Less allocation, minor tweaks 2023-03-27 00:11:42 -07:00
RK4.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SK2.cs Minor clean 2023-04-13 00:05:10 -07:00
XK3.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00