Path: blob/master/osu.Game/Rulesets/Edit/Checks/Components/ResourcesCheckUtils.cs
2272 views
// Copyright (c) ppy Pty Ltd <[email protected]>. Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Game.Beatmaps; using osu.Game.Storyboards; namespace osu.Game.Rulesets.Edit.Checks.Components { public static class ResourcesCheckUtils { /// <summary> /// Checks if any storyboard element is present in the working beatmap. /// </summary> /// <param name="workingBeatmap">The working beatmap to check.</param> /// <returns>True if any storyboard element is present, false otherwise.</returns> public static bool HasAnyStoryboardElementPresent(IWorkingBeatmap workingBeatmap) { foreach (var layer in workingBeatmap.Storyboard.Layers) { foreach (var _ in layer.Elements) { return true; } } return false; } /// <summary> /// Retrieves the first storyboard video entry for the provided working beatmap, if any. /// </summary> /// <param name="workingBeatmap">The working beatmap to inspect.</param> /// <returns> /// The first <see cref="StoryboardVideo"/> found, or null if none exists. /// </returns> public static StoryboardVideo? GetDifficultyVideo(IWorkingBeatmap workingBeatmap) { foreach (var layer in workingBeatmap.Storyboard.Layers) { foreach (var element in layer.Elements) { if (element is StoryboardVideo video) return video; } } return null; } } }