2021-04-05 01:30:01 +00:00
|
|
|
|
using System;
|
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
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 : unmanaged
|
2021-04-05 01:30:01 +00:00
|
|
|
|
{
|
2022-06-18 18:04:24 +00:00
|
|
|
|
/// <summary> Indicates the analyzed source of each move. </summary>
|
|
|
|
|
public readonly T[] Actual;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
/// <summary> Indicates all possible sources of each move. </summary>
|
|
|
|
|
public readonly Span<byte> Possible;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
/// <summary> Level Up entry for the egg. </summary>
|
|
|
|
|
public readonly Learnset Learnset;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
/// <summary> Moves the egg knows after it is finalized. </summary>
|
|
|
|
|
public readonly ReadOnlySpan<int> Moves;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
/// <summary> Level the egg originated at. </summary>
|
|
|
|
|
public readonly int Level;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
|
2022-06-18 18:04:24 +00:00
|
|
|
|
public BreedInfo(T[] actual, Span<byte> possible, Learnset learnset, ReadOnlySpan<int> moves, int level)
|
|
|
|
|
{
|
|
|
|
|
Actual = actual;
|
|
|
|
|
Possible = possible;
|
|
|
|
|
Learnset = learnset;
|
|
|
|
|
Moves = moves;
|
|
|
|
|
Level = level;
|
2021-04-05 01:30:01 +00:00
|
|
|
|
}
|
|
|
|
|
}
|