载入中...
搜索中...
未找到
Action.h
浏览该文件的文档.
209 [[nodiscard]] virtual Result<decision::ConditionResult> evaluate(const ActionDefinition& definition,
228 [[nodiscard]] virtual Result<sensing::TargetSet> resolve(const sensing::TargetingQuery& query) const = 0;
251 [[nodiscard]] virtual Result<resource::Affordability> canAfford(const ActionDefinition& definition,
279 [[nodiscard]] virtual Result<resource::Receipt> commit(const resource::Reservation& reservation) = 0;
344 [[nodiscard]] virtual Result<std::unique_ptr<IActionEffectOperation>> prepare(const ActionDefinition& definition,
472 [[nodiscard]] Result<sensing::TargetSet> resolve(const sensing::TargetingQuery& query) const override;
509 [[nodiscard]] Result<ActionExecutionId> submit(ActionDefinition definition, ActionRequest request);
519 [[nodiscard]] Result<ActionAdvance> advance(ActionExecutionId id, SimulationTick tick, Duration delta);
Versioned, deterministic authoring timeline for gameplay actions.
Pure, explainable condition trees shared by gameplay domains.
Strong identity values shared by persistence, content and logical-name APIs.
Strongly typed, transaction-friendly resource cost protocol.
Move-only, checked operation results for the common layer.
Internal storage primitive for domain-owned unsigned values.
Coordinate-safe targeting protocol shared by sensing and gameplay adapters.
Common time values and an injectable deterministic simulation clock.
Owning, renderer-independent dynamic values.
Human-readable, scoped identifier in the form namespace:name.
Definition Identity.h:411
Read-only view of one execution owned by ActionRuntime.
Definition Action.h:390
const sensing::TargetSet * resolvedTargets() const noexcept
Resolved targets, or null until a Query action is validated.
Definition Action.h:417
bool hasCommittedCost() const noexcept
Whether Active committed a resource debit.
Definition Action.h:421
SimulationTick lastTick() const noexcept
Last simulation tick observed by the execution.
Definition Action.h:407
const ActionDefinition & definition() const noexcept
Original definition owned by this execution.
Definition Action.h:397
bool activeExecuted() const noexcept
Whether the Active transaction has committed successfully.
Definition Action.h:423
Duration totalElapsed() const noexcept
Total injected simulation duration consumed.
Definition Action.h:405
const ActionRequest & request() const noexcept
Original request owned by this execution.
Definition Action.h:399
const LogicalId & definitionId() const noexcept
Definition identity copied at submission time.
Definition Action.h:395
const transaction::TransactionReceipt * transactionReceipt() const noexcept
Return the common transaction receipt produced at Active.
Definition Action.h:430
ActionRuntime(ActionServices services={})
Bind borrowed composition ports to this owner-thread runtime.
Definition Action.h:493
ActionRuntime(ActionRuntime &&)=delete
ActionRuntime(const ActionRuntime &)=delete
std::size_t executionCount() const noexcept
Number of executions retained by this runtime.
Definition Action.h:546
ActionRuntime & operator=(const ActionRuntime &)=delete
ActionRuntime & operator=(ActionRuntime &&)=delete
virtual ~IActionConditionEvaluator()=default
Releases IActionConditionEvaluator resources.
virtual Result< decision::ConditionResult > evaluate(const ActionDefinition &definition, const ActionRequest &request) const =0
Evaluate one action condition.
Active-phase effect/operation preparation port.
Definition Action.h:331
virtual ~IActionEffectExecutor()=default
Releases IActionEffectExecutor resources.
virtual Result< std::unique_ptr< IActionEffectOperation > > prepare(const ActionDefinition &definition, const ActionRequest &request, const sensing::TargetSet *targets, SimulationTick tick)=0
Prepare the active operation once without applying its effect.
IActionEffectOperation(const IActionEffectOperation &)=delete
virtual void commit() noexcept=0
Apply the prepared operation; must not fail or throw.
IActionEffectOperation & operator=(IActionEffectOperation &&)=delete
virtual void rollback() noexcept=0
Release/compensate the prepared operation; must not fail or throw.
IActionEffectOperation(IActionEffectOperation &&)=delete
virtual ~IActionEffectOperation()=default
Releases IActionEffectOperation resources.
IActionEffectOperation & operator=(const IActionEffectOperation &)=delete
Resource-account lookup port for canonical CostSpec operations.
Definition Action.h:239
virtual ~IActionResourceProvider()=default
Releases IActionResourceProvider resources.
virtual Result< resource::Receipt > commit(const resource::Reservation &reservation)=0
Commit a reservation by its account nonce.
virtual Result< resource::Reservation > reserve(const ActionDefinition &definition, const ActionRequest &request, const resource::CostSpec &cost)=0
Reserve a cost at the Active boundary.
virtual Result< void > rollback(const resource::Reservation &reservation)=0
Roll back a reservation by its account nonce.
virtual Result< resource::Affordability > canAfford(const ActionDefinition &definition, const ActionRequest &request, const resource::CostSpec &cost) const =0
Query affordability without reserving or mutating an account.
virtual Result< sensing::TargetSet > resolve(const sensing::TargetingQuery &query) const =0
Resolve a validated targeting query.
virtual ~IActionTargetResolver()=default
Releases IActionTargetResolver resources.
Reusable adapter from the sensing TargetingResolver to ActionRuntime.
Definition Action.h:465
SensingTargetingAdapter()=default
Construct an adapter with no retained query or target state.
static constexpr StrongUint64 zero() noexcept
Returns the zero value for this strong type.
Definition StrongUint64.h:24
Provider-neutral resource account contract.
Definition ResourceAccount.h:316
Owning target result containing primary-independent subjects and optional geometry.
Definition Targeting.h:384
Generic constraint evaluator that composes candidate and LOS capabilities.
Definition Targeting.h:543
Synchronous participant contract for one coordinator transaction.
Definition Transaction.h:128
Definition AbilityAsset.cpp:9
const char * actionPhaseName(ActionPhase phase) noexcept
Return the stable lowercase spelling of an action phase.
Definition Action.cpp:42
@ Completed
@ Windup
@ Active
@ Recover
@ Cancelled
@ Validating
@ Failed
@ Requested
@ Query
The request supplies a sensing query resolved during validation.
@ Explicit
The request already owns the selected ECS target handles.
@ Pending
Definition Container.h:602
std::vector< ActionTransition > transitions
Phase changes in deterministic order.
Definition Action.h:181
std::vector< ActionTimelineEvent > timelineEvents
Owning timeline boundaries crossed by this advance.
Definition Action.h:187
std::vector< ActionActiveBlock > activeBlocks
Owning samples of timeline states active after this advance.
Definition Action.h:189
Immutable-by-convention definition of one action kind.
Definition Action.h:90
std::vector< std::string > effectIds
Stable effect-definition ids interpreted by the active executor.
Definition Action.h:104
std::optional< ActionTimeline > timeline
Optional versioned choreography authored by the action editor.
Definition Action.h:110
std::optional< resource::CostSpec > cost
Optional canonical cost reserved and committed by the pipeline.
Definition Action.h:102
std::optional< sensing::TargetingSpec > targetingSpec
Constraints used when targetingMode is Query.
Definition Action.h:100
Opaque runtime identity for one ActionExecution.
Definition Action.h:156
One caller-owned request to instantiate an action execution.
Definition Action.h:127
Value::Object parameters
Adapter-owned deterministic parameters copied into the execution.
Definition Action.h:137
std::optional< sensing::TargetingQuery > targetingQuery
Query input, used only when the definition selects Query.
Definition Action.h:135
std::string transactionId
Optional caller-supplied transaction correlation identifier.
Definition Action.h:143
std::vector< ecs::EntityHandle > targetEntities
Explicit targets, used only when the definition selects Explicit.
Definition Action.h:133
std::optional< ecs::EntityHandle > source
Optional source ECS identity; the action core does not interpret its type.
Definition Action.h:131
Borrowed composition ports used by one ActionRuntime owner.
Definition Action.h:351
Deterministic simulation durations for the three timed action phases.
Definition Action.h:74
One phase change observed while advancing an action.
Definition Action.h:160
SimulationTick tick
Injected simulation tick at which the transition was applied.
Definition Action.h:166
Reservation credential returned by a successful reserve operation.
Definition ResourceAccount.h:279
A query passed from a domain targeting algorithm to sensing.
Definition Targeting.h:350
Observable summary returned after an atomic participant commit.
Definition Transaction.h:97