// 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 { /// /// Returns the for this check. /// Basically, its information. /// /// public abstract CheckMetadata Metadata(); /// /// The templates for issues that this check may use. /// Basically, what issues this check can detect. /// /// public abstract IEnumerable Templates(); /// /// Returns zero, one, or several issues detected by this /// check on the given beatmap. /// /// The beatmap to run the check on. /// public abstract IEnumerable Run(IBeatmap beatmap); protected Check() { foreach (var template in Templates()) template.Origin = this; } } }