载入中...
搜索中...
未找到
TacticsSettlement.cpp
浏览该文件的文档.
8Result<settlement::SettlementRequest> makeSettlementRequest(const AbilitySettlementRequest& request) {
11 Diagnostic::error(DiagnosticCode::InvalidArgument, "tactical ability actor is invalid", "ability.actor"));
12 const SubjectRef target = request.target.isValid() ? request.target : request.ability.targetUnit;
15 DiagnosticCode::InvalidArgument, "tactical settlement requires a stable unit or cell target", "target"));
18 DiagnosticCode::InvalidArgument, "tactical settlement kind or magnitude is invalid", "settlement"));
49 std::span<const AbilitySettlementRequest> requests, std::span<settlement::ISettlementPolicy*> policies,
55 if (!projected) return Result<std::vector<settlement::SettlementResult>>::failure(projected.status());
Shared settlement entry for declared tactical abilities.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
bool isValid() const noexcept
Return whether this reference is valid and non-nil.
Definition SubjectRef.h:38
Deterministic in-memory stream of topic-neutral event envelopes.
Definition GameEvent.h:261
Domain-owned policy hooks used by the common settlement pipeline.
Definition Settlement.h:497
Deterministically ordered, composable settlement pipeline.
Definition Settlement.h:542
eve::Result< SettlementResult > settle(const SettlementRequest &request, ISettlementPolicy &policy, game_event::GameEventLog *events=nullptr) const
Execute one settlement transaction against a domain policy.
Definition Settlement.cpp:744
eve::Result< std::vector< SettlementResult > > settleAtomic(std::span< const SettlementRequest > requests, std::span< ISettlementPolicy * > policies, game_event::GameEventLog *events=nullptr) const
Prepare and commit several independent resource channels atomically.
Definition SettlementBatch.cpp:23
Validated immutable-style rule collection installable into pipelines.
Definition SettlementRules.h:77
eve::Result< void > install(SettlementPipeline &pipeline) const
Install a stable snapshot as custom stages on a pipeline.
Definition SettlementRules.cpp:900
Result< void > configureSettlementRules(const settlement::SettlementRuleSet &rules)
Replace declarative rules used by subsequent tactical ability settlements.
Definition TacticsSettlement.cpp:32
Result< std::vector< settlement::SettlementResult > > settleAtomic(std::span< const AbilitySettlementRequest > requests, std::span< settlement::ISettlementPolicy * > policies, game_event::GameEventLog *eventLog=nullptr) const
Settle an ordered tactical area effect as one atomic transaction.
Definition TacticsSettlement.cpp:48
Result< settlement::SettlementResult > settle(const AbilitySettlementRequest &request, settlement::ISettlementPolicy &policy, game_event::GameEventLog *eventLog=nullptr) const
Settle one committed ability receipt against game-owned state.
Definition TacticsSettlement.cpp:40
Definition Interaction.cpp:13
Result< settlement::SettlementRequest > makeSettlementRequest(const AbilitySettlementRequest &request)
Validate and project a committed tactical ability into the canonical settlement request.
Definition TacticsSettlement.cpp:8
@ InvalidArgument
@ Applied
Domain-neutral input to one settlement operation.
Definition Settlement.h:107
Owning values required to settle one previously declared tactical ability.
Definition TacticsSettlement.h:16