Update dialog_base implementation, assets and documentation
This commit is contained in:
1 parent
2c9e6805a9
commit
1894857eff
36 files changed
+622
-84
No files matched your search
@@ -2,6 +2,7 @@ namespace Cthangover.Mods.Dialog.Tests
|
||||
{
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Cthangover.Core.Events;
|
||||
using Cthangover.Core.Mods.Testing;
|
||||
using Cthangover.Core.Settings;
|
||||
using Cthangover.Mods.Dialog.Action.Impls;
|
||||
@@ -49,6 +50,30 @@ namespace Cthangover.Mods.Dialog.Tests
|
||||
}
|
||||
}
|
||||
|
||||
[ModTest("box/scene_exit_ends_running_dialog", TimeoutSeconds = 10)]
|
||||
static async Task SceneExitEndsRunningDialog(ModTestContext ctx)
|
||||
{
|
||||
var stage = await DialogStage.Create();
|
||||
try
|
||||
{
|
||||
var running = new DialogQueue();
|
||||
running.Queue.Add(new ProbeAction());
|
||||
ModAssert.True(stage.Box.SetDialogQueueAndRun(running, null, 0, null), "a dialog starts");
|
||||
ModAssert.True(stage.Box.IsRunning, "the dialog occupies the box");
|
||||
|
||||
ModEventBus.Publish(new SceneExitedEvent { SceneName = "dialog_base_test_scene" });
|
||||
ModAssert.False(stage.Box.IsRunning, "leaving the scene releases the box");
|
||||
|
||||
var next = new DialogQueue();
|
||||
next.Queue.Add(new ProbeAction());
|
||||
ModAssert.True(stage.Box.SetDialogQueueAndRun(next, null, 0, null), "the next scene's dialog starts on the freed box");
|
||||
}
|
||||
finally
|
||||
{
|
||||
stage.Free();
|
||||
}
|
||||
}
|
||||
|
||||
[ModTest("box/held_delay_is_not_skipped", TimeoutSeconds = 10)]
|
||||
static async Task HeldDelayIsNotSkipped(ModTestContext ctx)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user