refactor(runtime): own canonical action state
Move selection, combat, and interaction target mode under one Runtime owner; make plugins, retained UI, session routing, and typed runtime views borrow its exact children; and add failure-safe reset, instance isolation, source ownership, and normalized checkpoint coverage without changing retail ordering. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
bb45afef33
commit
b298f99f91
38 changed files with 711 additions and 93 deletions
23
src/AcDream.Runtime/GameRuntimeActionViews.cs
Normal file
23
src/AcDream.Runtime/GameRuntimeActionViews.cs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
using AcDream.Core.Combat;
|
||||
using AcDream.Runtime.Gameplay;
|
||||
|
||||
namespace AcDream.Runtime;
|
||||
|
||||
public readonly record struct RuntimeActionSnapshot(
|
||||
long SelectionRevision,
|
||||
uint SelectedObjectId,
|
||||
uint PreviousObjectId,
|
||||
uint PreviousValidObjectId,
|
||||
long CombatRevision,
|
||||
CombatMode CombatMode,
|
||||
int TrackedTargetHealthCount,
|
||||
long InteractionRevision,
|
||||
InteractionModeKind InteractionMode,
|
||||
uint InteractionSourceObjectId);
|
||||
|
||||
public interface IRuntimeActionView
|
||||
{
|
||||
RuntimeActionSnapshot Snapshot { get; }
|
||||
|
||||
bool TryGetHealth(uint objectId, out float healthPercent);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue