using System; using System.Collections.Generic; namespace PKHeX.Core { internal sealed class MoveParseSource { private static readonly int[] Empty = Array.Empty(); public IReadOnlyList CurrentMoves { get; init; } = Empty; public IReadOnlyList SpecialSource { get; set; } = Empty; public int[] NonTradeBackLevelUpMoves { get; set; } = Empty; /// /// Base moves from a standard encounter /// public int[] Base { get; set; } = Empty; public int[] EggLevelUpSource { get; set; } = Empty; public int[] EggMoveSource { get; set; } = Empty; public IReadOnlyList EggEventSource { get; set; } = Empty; /// /// Clears all sources except for the . /// public void ResetSources() { EggEventSource = Empty; Base = Empty; EggLevelUpSource = Empty; EggMoveSource = Empty; NonTradeBackLevelUpMoves = Empty; SpecialSource = Empty; } } }