namespace PKHeX.Core; /// /// Exposes logic for determining if a move can be learned in a HOME-compatible game context. /// Used for validating move legality when transferring Pokémon through Pokémon HOME. /// public interface IHomeSource { /// /// Gets the game environment this source represents (e.g., SW/SH, BD/SP, S/V). /// LearnEnvironment Environment { get; } /// /// Determines if the specified can be learned by the given (with evolution criteria ) /// in the context of Pokémon HOME's move relearner, considering the allowed of move sources. /// /// The Pokémon entity to check. /// The evolution criteria representing the species/form context. /// The move ID to check for learnability. /// The types of move sources to consider (default is all). /// Information about how the move can be learned, or a default value if it cannot be learned. MoveLearnInfo GetCanLearnHOME(PKM pk, EvoCriteria evo, ushort move, MoveSourceType types = MoveSourceType.All); }