using System;
namespace PKHeX.Core
{
///
public sealed class ComplexSuggestion : ISuggestModification
{
public readonly string Keyword;
public readonly Func Criteria = _ => true;
public readonly Func Action;
public ComplexSuggestion(
string keyword,
Func criteria,
Func action) : this(keyword, action)
{
Criteria = criteria;
}
public ComplexSuggestion(
string keyword,
Func action)
{
Keyword = keyword;
Action = action;
}
public bool IsMatch(string name, string value, BatchInfo info)
{
return name == Keyword && Criteria(info.Entity);
}
public ModifyResult Modify(string name, string value, BatchInfo info)
{
return Action(name, value, info);
}
}
}