using System.Collections.Generic; using Cthangover.Core.Localization; using Cthangover.Mods.Dialog; using Cthangover.Core.UI; using Cthangover.Mods.Interface.Base.Lists; using Cthangover.Core.UI.Dialog; using Cthangover.Core.UI.Event; using Cthangover.Core.UI.Executable; using Cthangover.Core.Scenarios; using Cthangover.Core.Scenes; using Cthangover.Core.Interactive; namespace Cthangover.Mods.Dialog.Scenarios { /// /// Handles the music DSL command. Starts playing a background music /// track from the given resource path. Implements /// with so the build pipeline /// can track referenced audio assets. /// public class MusicCommandStrategy : IScenarioCommandStrategy, ICommandReferenceMetadata, IScenarioCommandSpec { /// public string Command => "music"; /// public PositionalReferenceKind Positional0Kind => PositionalReferenceKind.Music; /// public int MinPositional => 1; /// public int MaxPositional => 1; /// public void Execute(DialogQueue dlg, List positional, Dictionary named, string arrowTarget, ILocalizationProvider locale) { if (positional.Count > 0) dlg.Music(positional[0]); } } }