Event-driven dialog queue, story flag command, mod unit tests

Push-based event chains, runtime fixes (single end, goto lifecycle, if,
busy box, held delay, empty options, timed/animated/effect actions), the
'flag name value' DSL command, autoplay --dialogs=N, 19 mod unit tests.
This commit is contained in:
cthangover committed 2026-10-21 12:31:52 +02:00
1 parent 9f86bdbb0c
commit bd55716349
86 files changed
+3173 -2181

No files matched your search

+40 -40
View File
@@ -1,40 +1,40 @@
namespace Cthangover.Mods.Dialog.Scenarios
{
/// <summary>
/// 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 <see cref="ICommandReferenceMetadata"/> to
/// discover which assets (backgrounds, scenes, music, etc.) are referenced
/// and need to be packed into the final build.
/// </summary>
public enum PositionalReferenceKind
{
/// <summary>No resource reference in the first positional argument.</summary>
None,
/// <summary>A background image resource path.</summary>
Background,
/// <summary>A scene resource path (for scene switching).</summary>
Scene,
/// <summary>A music/audio resource path.</summary>
Music,
/// <summary>A sound effect resource path.</summary>
Sound,
/// <summary>An effect/shader resource path.</summary>
Effect,
/// <summary>An interactive action definition ID.</summary>
Action
}
/// <summary>
/// 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.
/// </summary>
public interface ICommandReferenceMetadata
{
/// <summary>
/// The kind of resource referenced by the first positional argument of this command.
/// </summary>
PositionalReferenceKind Positional0Kind { get; }
}
}
namespace Cthangover.Mods.Dialog.Scenarios
{
/// <summary>
/// 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 <see cref="ICommandReferenceMetadata"/> to
/// discover which assets (backgrounds, scenes, music, etc.) are referenced
/// and need to be packed into the final build.
/// </summary>
public enum PositionalReferenceKind
{
/// <summary>No resource reference in the first positional argument.</summary>
None,
/// <summary>A background image resource path.</summary>
Background,
/// <summary>A scene resource path (for scene switching).</summary>
Scene,
/// <summary>A music/audio resource path.</summary>
Music,
/// <summary>A sound effect resource path.</summary>
Sound,
/// <summary>An effect/shader resource path.</summary>
Effect,
/// <summary>An interactive action definition ID.</summary>
Action
}
/// <summary>
/// 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.
/// </summary>
public interface ICommandReferenceMetadata
{
/// <summary>
/// The kind of resource referenced by the first positional argument of this command.
/// </summary>
PositionalReferenceKind Positional0Kind { get; }
}
}