// 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 System.Linq; using osu.Game.Beatmaps; using osu.Game.Rulesets.Edit.Checks; using osu.Game.Rulesets.Edit.Checks.Components; namespace osu.Game.Rulesets.Edit { /// /// A ruleset-agnostic beatmap verifier that identifies issues in common metadata or mapping standards. /// public class BeatmapVerifier : IBeatmapVerifier { private readonly List checks = new List { // Resources new CheckBackgroundPresence(), new CheckBackgroundQuality(), // Audio new CheckAudioPresence(), new CheckAudioQuality(), // Compose new CheckUnsnappedObjects(), new CheckConcurrentObjects() }; public IEnumerable Run(IBeatmap playableBeatmap, WorkingBeatmap workingBeatmap) { return checks.SelectMany(check => check.Run(playableBeatmap, workingBeatmap)); } } }