Show director summons as info toasts and presence queue labels.

Corridor waiters need a summon-phase byte on presence (v11); EventDef DirectorSummoned is info-only so clocks keep running.
This commit is contained in:
Leonid Pershin
2026-08-21 13:07:47 +03:00
parent d3c2327e23
commit 9e429d0cd7
29 changed files with 453 additions and 28 deletions
@@ -95,6 +95,18 @@ public class NoticeBoardTests
Assert.Equal("avatar", sticky.Kind);
}
[Fact]
public void DirectorSummonedInfo_IsNotStickyInSave()
{
var board = new NoticeBoard(maxSticky: 8);
Assert.True(board.TryPost(DirectorSummoned(), personKey: "a0.p0", kind: "", out var info));
Assert.Equal("DirectorSummoned", info.DefName);
Assert.False(info.Pause);
Assert.Empty(board.Sticky);
Assert.DoesNotContain(board.ToSave(), row => row.DefName == "DirectorSummoned");
}
private static EventDef Info() => new()
{
DefName = "DayStarted",
@@ -105,6 +117,16 @@ public class NoticeBoardTests
Action = EventActions.None,
};
private static EventDef DirectorSummoned() => new()
{
DefName = "DirectorSummoned",
Severity = EventSeverities.Info,
Pause = false,
TtlMs = 8000,
Trigger = EventTriggers.DirectorSummon,
Action = EventActions.None,
};
private static EventDef Pausing() => new()
{
DefName = "GenerationFailed",