2018-08-01 18:30:51 -07:00
|
|
|
|
using System;
|
2020-01-18 16:46:38 -08:00
|
|
|
|
using System.Collections.Generic;
|
2018-08-01 18:30:51 -07:00
|
|
|
|
|
|
|
|
|
namespace PKHeX.Core
|
2017-09-01 23:15:57 -07:00
|
|
|
|
{
|
2020-09-07 13:51:13 -07:00
|
|
|
|
internal sealed class MoveParseSource
|
2017-09-01 23:15:57 -07:00
|
|
|
|
{
|
2018-08-01 18:30:51 -07:00
|
|
|
|
private static readonly int[] Empty = Array.Empty<int>();
|
2020-12-21 23:37:07 -08:00
|
|
|
|
public IReadOnlyList<int> CurrentMoves { get; init; } = Empty;
|
2020-01-18 16:46:38 -08:00
|
|
|
|
public IReadOnlyList<int> SpecialSource { get; set; } = Empty;
|
2017-09-01 23:15:57 -07:00
|
|
|
|
public int[] NonTradeBackLevelUpMoves { get; set; } = Empty;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Base moves from a standard encounter
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int[] Base { get; set; } = Empty;
|
|
|
|
|
|
|
|
|
|
public int[] EggLevelUpSource { get; set; } = Empty;
|
|
|
|
|
public int[] EggMoveSource { get; set; } = Empty;
|
2020-01-18 16:46:38 -08:00
|
|
|
|
public IReadOnlyList<int> EggEventSource { get; set; } = Empty;
|
2020-10-04 12:08:16 -07:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Clears all sources except for the <see cref="CurrentMoves"/>.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public void ResetSources()
|
|
|
|
|
{
|
|
|
|
|
EggEventSource = Empty;
|
|
|
|
|
Base = Empty;
|
|
|
|
|
EggLevelUpSource = Empty;
|
|
|
|
|
EggMoveSource = Empty;
|
|
|
|
|
NonTradeBackLevelUpMoves = Empty;
|
|
|
|
|
SpecialSource = Empty;
|
|
|
|
|
}
|
2017-09-01 23:15:57 -07:00
|
|
|
|
}
|
|
|
|
|
}
|