namespace pdinklag.CPW.Common
{
    /// <summary>
    /// Abstract base for moveset entries.
    /// </summary>
    public abstract class MovesetEntry<M> : IMovesetEntry where M : IMovesetEntry
    {
        protected static AssetAddress OverrideIfValid(AssetAddress current, AssetAddress value) => value.IsValid ? value : current;

        public abstract AssetAddress[] Moves { get; }

        public abstract void Merge(M other);
    }
}
