载入中...
搜索中...
未找到
CombatCancelResolver.cpp
浏览该文件的文档.
5Result<CombatCancelResolution> CombatCancelResolver::resolve(const CombatCancelResolveRequest& request) {
14 Diagnostic::error(DiagnosticCode::InvalidArgument, "current ability id is empty", "currentAbility"));
44 auto matched = graph_->match(request.currentAbility, resolution.consumed.input, true, allowCombo);
50 return Result<CombatCancelResolution>::success(std::move(resolution), Status::success(StatusCode::Applied));
Cancel buffer + windows + combo graph resolution.
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
std::vector< std::string > availableCancels(SubjectRef subject) const
Return sorted unique allow tags currently active for a subject.
Definition ActionCancelWindowState.cpp:106
Result< ActionCancelMatch > match(SubjectRef subject, std::string_view input) const
Resolve the highest-priority window that allows the semantic input.
Definition ActionCancelWindowState.cpp:118
Result< ActionComboMatch > match(SubjectRef subject, std::string_view input) const
Resolve the first deterministic active window accepting an input.
Definition ActionComboWindowState.cpp:98
Result< void > expire(SimulationTick now)
Drop entries older than lifetime relative to now.
Definition ActionInputBuffer.cpp:32
Result< BufferedInput > consume(SubjectRef subject, const std::vector< std::string > &allows)
Consume the highest-priority buffered input that matches one of the allows.
Definition ActionInputBuffer.cpp:56
Result< CombatCancelResolution > resolve(const CombatCancelResolveRequest &request)
Expire the buffer, consume the best allowed input, and optionally match the combo graph.
Definition CombatCancelResolver.cpp:5
Result< ComboGraphMatch > match(const LogicalId &from, std::string_view input, bool allowCancel, bool allowCombo) const
Resolve the highest-priority legal transition for a source ability and input.
Definition ComboGraph.cpp:29
Definition ActionDamageSink.cpp:9
@ InvalidArgument
@ NotFound
@ NotFound
@ Applied
Owning audit of one resolved cancel or combo transition.
Definition CombatCancelResolver.h:24
action::input::BufferedInput consumed
Definition CombatCancelResolver.h:25
std::optional< action::input::ActionComboMatch > comboWindow
Definition CombatCancelResolver.h:27
action::input::ActionCancelMatch cancel
Definition CombatCancelResolver.h:26
std::optional< ComboGraphMatch > graph
Definition CombatCancelResolver.h:28
Inputs for one deterministic cancel/combo resolution.
Definition CombatCancelResolver.h:17