Authoritative combat projection of active Montage hitbox and invulnerability windows. 更多...
#include <ActionWindowState.h>
Public 成员函数 | |
| CombatActionWindowState (ActionWindowSubjectResolver resolver) | |
| Construct with a synchronous resolver copied into the state owner. | |
| ~CombatActionWindowState () override | |
| Combat action window state. | |
| void | setEnabled (bool enabled) |
| Opt this owner into or out of Action state-window dispatch. | |
| void | setMeleeHitRuntime (MeleeHitRuntime &melee) noexcept |
| Borrow melee geometry so hitbox windows arm and disarm automatically. @lifetime The melee runtime must outlive this state or be cleared first. | |
| void | clearMeleeHitRuntime () noexcept |
| Clear the borrowed melee geometry owner. | |
| bool | enabled () const |
| Return whether this exact owner is registered. | |
| bool | supports (action::ActionStateWindowKind kind) const noexcept override |
| Whether this sink owns the supplied semantic window kind. | |
| Result< void > | enter (const action::ActionStateWindowBinding &binding, const action::ActionTimelineEvent &event, const action::ActionNotifyContext &context) override |
| Enter one validated window or idempotently observe the same active key. | |
| Result< void > | exit (const action::ActionStateWindowBinding &binding, const action::ActionTimelineEvent &event, const action::ActionNotifyContext &context) override |
| Exit one previously entered window by execution and item identity. | |
| bool | isInvulnerable (SubjectRef subject) const noexcept |
| Return whether at least one active Montage window protects this stable subject. | |
| std::vector< std::string > | activeHitboxes (SubjectRef subject) const |
| Return owning hitbox identifiers active for a stable subject in key order. | |
| std::size_t | activeCount () const noexcept |
| Return the total number of retained active window keys. | |
Public 成员函数 继承自 eve::action::IActionStateWindowSink | |
| virtual | ~IActionStateWindowSink ()=default |
| Releases IActionStateWindowSink resources. | |
额外继承的成员函数 | |
静态 Public 属性 继承自 eve::action::IActionStateWindowSink | |
| static constexpr const char * | capabilityName = "eve.action.state-window-sink" |
详细描述
Authoritative combat projection of active Montage hitbox and invulnerability windows.
Keys combine ActionExecutionId and timeline item identity, so overlapping windows compose without a lossy boolean. Exit uses the retained owning SubjectRef and is safe when the ECS entity was destroyed after enter. This object is owner-thread-only.
在文件 ActionWindowState.h 第 33 行定义.
构造及析构函数说明
◆ CombatActionWindowState()
|
explicit |
Construct with a synchronous resolver copied into the state owner.
在文件 ActionWindowState.cpp 第 11 行定义.
◆ ~CombatActionWindowState()
|
override |
Combat action window state.
在文件 ActionWindowState.cpp 第 14 行定义.
成员函数说明
◆ activeCount()
|
inlinenoexcept |
Return the total number of retained active window keys.
在文件 ActionWindowState.h 第 70 行定义.
◆ activeHitboxes()
| std::vector< std::string > eve::combat::CombatActionWindowState::activeHitboxes | ( | SubjectRef | subject | ) | const |
Return owning hitbox identifiers active for a stable subject in key order.
在文件 ActionWindowState.cpp 第 105 行定义.
引用了 eve::action::Hitbox, key , 以及 subject.
◆ clearMeleeHitRuntime()
|
noexcept |
Clear the borrowed melee geometry owner.
在文件 ActionWindowState.cpp 第 32 行定义.
◆ enabled()
| bool eve::combat::CombatActionWindowState::enabled | ( | ) | const |
Return whether this exact owner is registered.
在文件 ActionWindowState.cpp 第 16 行定义.
引用了 index.
被这些函数引用 setEnabled().
◆ enter()
|
overridevirtual |
Enter one validated window or idempotently observe the same active key.
Enter.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionWindowState.cpp 第 38 行定义.
引用了 eve::Applied, eve::combat::MeleeHitRuntime::armHitbox(), binding, eve::Conflict, context, eve::Diagnostic::error(), eve::Result< T >::failure(), found, handle, eve::action::Hitbox, eve::InvalidArgument, key, eve::NoOp, eve::NotFound, subject, eve::Status::success(), eve::Result< T >::success(), supports() , 以及 eve::Unsupported.
◆ exit()
|
overridevirtual |
Exit one previously entered window by execution and item identity.
Exit.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionWindowState.cpp 第 75 行定义.
引用了 eve::Applied, binding, eve::Conflict, context, eve::combat::MeleeHitRuntime::disarmHitbox(), eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::action::Hitbox, key, kind, eve::NoOp, resource, subject, eve::Status::success(), eve::Result< T >::success(), supports() , 以及 eve::Unsupported.
◆ isInvulnerable()
|
noexcept |
Return whether at least one active Montage window protects this stable subject.
在文件 ActionWindowState.cpp 第 96 行定义.
引用了 eve::action::Invulnerability, key , 以及 subject.
◆ setEnabled()
| void eve::combat::CombatActionWindowState::setEnabled | ( | bool | enabled | ) |
Opt this owner into or out of Action state-window dispatch.
在文件 ActionWindowState.cpp 第 22 行定义.
◆ setMeleeHitRuntime()
|
noexcept |
Borrow melee geometry so hitbox windows arm and disarm automatically. @lifetime The melee runtime must outlive this state or be cleared first.
在文件 ActionWindowState.cpp 第 30 行定义.
◆ supports()
|
overridevirtualnoexcept |
Whether this sink owns the supplied semantic window kind.
Supports.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionWindowState.cpp 第 34 行定义.
引用了 eve::action::Hitbox, eve::action::Invulnerability , 以及 kind.
该类的文档由以下文件生成:
- src/modules/combat/ActionWindowState.h
- src/modules/combat/ActionWindowState.cpp
Public 成员函数 继承自