1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-16 02:52:35 +08:00
Files
osu-lazer/osu.Game/Rulesets/Edit/Checks/Components/ResourcesCheckUtils.cs
T

51 lines
1.7 KiB
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. 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;
}
}
}