namespace Cthangover.Mods.Dialog.Scenarios
{
///
/// Classifies the type of resource that the first positional argument of a
/// scenario command refers to. Used for dependency tracking — the build tool
/// can scan commands by their to
/// discover which assets (backgrounds, scenes, music, etc.) are referenced
/// and need to be packed into the final build.
///
public enum PositionalReferenceKind
{
/// No resource reference in the first positional argument.
None,
/// A background image resource path.
Background,
/// A scene resource path (for scene switching).
Scene,
/// A music/audio resource path.
Music,
/// A sound effect resource path.
Sound,
/// An effect/shader resource path.
Effect,
/// An interactive action definition ID.
Action
}
///
/// Optional interface for command strategies whose first positional argument
/// references an external resource. Strategies implementing this interface
/// are inspected by the build pipeline to collect asset dependencies.
///
public interface ICommandReferenceMetadata
{
///
/// The kind of resource referenced by the first positional argument of this command.
///
PositionalReferenceKind Positional0Kind { get; }
}
}