feat(core/slice-1): Begin() sets EnterTunnel pending for portal/login/death entry; all sequencer tests pass
EnterTunnel fires on the first Tick after Begin for Portal/Login/Death kinds (which enter directly at Tunnel). Already implemented in Task 1.2 via _enterTunnelPending = _state == TeleportAnimState.Tunnel. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c3d6eccf51
commit
8b5002791a
1 changed files with 15 additions and 0 deletions
|
|
@ -452,4 +452,19 @@ public sealed class TeleportAnimSequencerTests
|
|||
Assert.False(seq.IsActive);
|
||||
Assert.Equal(TeleportAnimState.Off, seq.State);
|
||||
}
|
||||
|
||||
// --- Task 1.6: EnterTunnel fired for Portal path via Begin() ---
|
||||
|
||||
[Fact]
|
||||
public void Portal_EmitsEnterTunnel_OnFirstTick()
|
||||
{
|
||||
// Portal begins directly in Tunnel; EnterTunnel signals "world is now hidden".
|
||||
var seq = new TeleportAnimSequencer();
|
||||
seq.Begin(TeleportEntryKind.Portal);
|
||||
|
||||
// First tick: should emit PlayEnterSound AND EnterTunnel (both on entry)
|
||||
var (_, evts) = seq.Tick(0f, worldReady: false);
|
||||
Assert.Contains(TeleportAnimEvent.PlayEnterSound, evts);
|
||||
Assert.Contains(TeleportAnimEvent.EnterTunnel, evts);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue