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>
23 lines
598 B
C#
23 lines
598 B
C#
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);
|
|
}
|