// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Linq; using osu.Framework.Graphics.Sprites; using osu.Game.Beatmaps; using osu.Game.Configuration; using osu.Game.Graphics; using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.UI; using osu.Game.Screens.Play; namespace osu.Game.Rulesets.Mods { public abstract class ModCinema : ModCinema, IApplicableToDrawableRuleset where T : HitObject { public virtual void ApplyToDrawableRuleset(DrawableRuleset drawableRuleset) { drawableRuleset.SetReplayScore(CreateReplayScore(drawableRuleset.Beatmap)); drawableRuleset.Playfield.AlwaysPresent = true; drawableRuleset.Playfield.Hide(); } } public class ModCinema : ModAutoplay, IApplicableToHUD, IApplicableToScreen { public override string Name => "Cinema"; public override string Acronym => "CN"; public override IconUsage Icon => OsuIcon.ModCinema; public override string Description => "Watch the video without visual distractions."; public void ApplyToHUD(HUDOverlay overlay) { overlay.AlwaysPresent = true; overlay.Hide(); } public bool EnableDim => false; public bool ForceVideo => true; public bool ForceStoryboard => true; } }