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); }