mirror of
https://github.com/kwsch/PKHeX
synced 2024-12-29 22:03:10 +00:00
8f9de86347
the Actual result still needs to leave the stack, so that has to be heap allocated.
35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace PKHeX.Core
|
|
{
|
|
/// <summary>
|
|
/// Value passing object to simplify some initialization.
|
|
/// </summary>
|
|
/// <typeparam name="T">Egg Move source type enumeration.</typeparam>
|
|
internal readonly ref struct BreedInfo<T> where T : Enum
|
|
{
|
|
/// <summary> Indicates the analyzed source of each move. </summary>
|
|
public readonly T[] Actual;
|
|
|
|
/// <summary> Indicates all possible sources of each move. </summary>
|
|
public readonly Span<byte> Possible;
|
|
|
|
/// <summary> Level Up entry for the egg. </summary>
|
|
public readonly Learnset Learnset;
|
|
|
|
/// <summary> Moves the egg knows after it is finalized. </summary>
|
|
public readonly ReadOnlySpan<int> Moves;
|
|
|
|
/// <summary> Level the egg originated at. </summary>
|
|
public readonly int Level;
|
|
|
|
public BreedInfo(T[] actual, Span<byte> possible, Learnset learnset, ReadOnlySpan<int> moves, int level)
|
|
{
|
|
Actual = actual;
|
|
Possible = possible;
|
|
Learnset = learnset;
|
|
Moves = moves;
|
|
Level = level;
|
|
}
|
|
}
|
|
}
|