// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; using osu.Game.Beatmaps; namespace osu.Game.Rulesets.Edit.Checks.Components { public abstract class Check { /// /// The metadata for this check. /// public abstract CheckMetadata Metadata(); /// /// All possible templates for issues that this check may return. /// public abstract IEnumerable Templates(); /// /// Runs this check and returns any issues detected for the provided beatmap. /// /// The beatmap to run the check on. public abstract IEnumerable Run(IBeatmap beatmap); protected Check() { foreach (var template in Templates()) template.Origin = this; } } }