refactor(runtime): own combat and magic intent
Move attack build/repeat state, combat-mode policy, authoritative auto-target transitions, and spell-cast intent beneath RuntimeActionState. Keep App as the input, world-query, DAT-policy, transport, and presentation adapter while preserving retail request and busy ordering. Add direct/graphical parity, reset, failure, and instance-isolation coverage. Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
81b31857c6
commit
20df9d155d
49 changed files with 1949 additions and 634 deletions
|
|
@ -11,7 +11,7 @@ public sealed class RuntimeActionStateTests
|
|||
public void ViewProjectsTheExactCanonicalChildrenAndRevisions()
|
||||
{
|
||||
using var inventory = NewInventoryTransactions();
|
||||
using var actions = new RuntimeActionState(inventory);
|
||||
using var actions = RuntimeActionTestFactory.Create(inventory);
|
||||
|
||||
actions.Selection.Select(
|
||||
0x50000001u,
|
||||
|
|
@ -41,7 +41,7 @@ public sealed class RuntimeActionStateTests
|
|||
public void ResetSessionConvergesEveryChildAfterObserverFailures()
|
||||
{
|
||||
using var inventory = NewInventoryTransactions();
|
||||
var actions = new RuntimeActionState(inventory);
|
||||
var actions = RuntimeActionTestFactory.Create(inventory);
|
||||
actions.Selection.Select(
|
||||
0x50000001u,
|
||||
SelectionChangeSource.World);
|
||||
|
|
@ -73,7 +73,7 @@ public sealed class RuntimeActionStateTests
|
|||
public void DisposeIsTerminalAndConvergedAfterObserverFailures()
|
||||
{
|
||||
using var inventory = NewInventoryTransactions();
|
||||
var actions = new RuntimeActionState(inventory);
|
||||
var actions = RuntimeActionTestFactory.Create(inventory);
|
||||
actions.Selection.Select(
|
||||
0x50000001u,
|
||||
SelectionChangeSource.World);
|
||||
|
|
@ -100,8 +100,8 @@ public sealed class RuntimeActionStateTests
|
|||
{
|
||||
using var firstInventory = NewInventoryTransactions();
|
||||
using var secondInventory = NewInventoryTransactions();
|
||||
using var first = new RuntimeActionState(firstInventory);
|
||||
using var second = new RuntimeActionState(secondInventory);
|
||||
using var first = RuntimeActionTestFactory.Create(firstInventory);
|
||||
using var second = RuntimeActionTestFactory.Create(secondInventory);
|
||||
|
||||
first.Selection.Select(
|
||||
0x50000001u,
|
||||
|
|
@ -131,7 +131,19 @@ public sealed class RuntimeActionStateTests
|
|||
OutboundCount: 0,
|
||||
HasPendingPickup: false,
|
||||
PendingPickupToken: 0u,
|
||||
DispatchFailureCount: 0)),
|
||||
DispatchFailureCount: 0),
|
||||
new RuntimeCombatAttackSnapshot(
|
||||
Revision: 0,
|
||||
RequestedHeight: AttackHeight.Medium,
|
||||
DesiredPower: 0.5f,
|
||||
PowerBarLevel: 0f,
|
||||
BuildInProgress: false,
|
||||
RequestInProgress: false,
|
||||
RequestedPower: 0f),
|
||||
new RuntimeSpellCastSnapshot(
|
||||
Revision: 0,
|
||||
LastRequestedSpellId: 0u,
|
||||
LastRequestedTargetId: 0u)),
|
||||
second.View.Snapshot);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue