Owner-thread hitstop/hitstun coordinator. 更多...
#include <HitFeel.h>
Public 成员函数 | |
| Result< void > | apply (HitFeelRequest request) |
| Apply one validated feel request; overlapping windows take the max remaining. | |
| Result< void > | applyFromOutcome (const DamageOutcome &outcome) |
| Derive a feel request from a damage outcome using fixed reaction tables. | |
| Result< HitFeelAdvance > | advance (const SimulationStep &step) |
| Advance remaining timers with the supplied deterministic step. | |
| HitFeelState | state (SubjectRef subject) const |
| Return an owning snapshot, or empty defaults when the subject has no feel state. | |
| bool | isFrozen (SubjectRef subject) const noexcept |
| Whether the subject currently has positive hitstop remaining. | |
| bool | isStunned (SubjectRef subject) const noexcept |
| Whether the subject currently has positive hitstun remaining. | |
| std::size_t | activeCount () const noexcept |
| Number of subjects with any remaining feel timer. | |
详细描述
Owner-thread hitstop/hitstun coordinator.
Durations use injected simulation time only. While hitstop remains, callers should treat the subject as time-frozen for animation and hitbox sampling.
成员函数说明
◆ activeCount()
|
inlinenoexcept |
◆ advance()
| Result< HitFeelAdvance > eve::combat::HitFeelRuntime::advance | ( | const SimulationStep & | step | ) |
Advance remaining timers with the supplied deterministic step.
在文件 HitFeel.cpp 第 75 行定义.
引用了 advance(), eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Duration::fromNanoseconds(), eve::combat::HitstopEnded, eve::combat::HitFeelState::hitstopRemaining, eve::combat::HitstunEnded, eve::combat::HitFeelState::hitstunRemaining, eve::InvalidArgument, eve::Duration::isZero(), eve::Duration::nanoseconds(), state(), step, eve::combat::HitFeelState::subject, eve::Status::success(), eve::Result< T >::success(), eve::combat::HitFeelAdvance::tick, eve::combat::HitFeelState::timeFrozen, eve::detail::StrongUint64< Tag >::value() , 以及 eve::Duration::zero().
被这些函数引用 advance().
◆ apply()
| Result< void > eve::combat::HitFeelRuntime::apply | ( | HitFeelRequest | request | ) |
Apply one validated feel request; overlapping windows take the max remaining.
在文件 HitFeel.cpp 第 25 行定义.
引用了 eve::Applied, request, eve::Status::success(), eve::Result< T >::success(), valid , 以及 eve::Duration::zero().
被这些函数引用 applyFromOutcome().
◆ applyFromOutcome()
| Result< void > eve::combat::HitFeelRuntime::applyFromOutcome | ( | const DamageOutcome & | outcome | ) |
Derive a feel request from a damage outcome using fixed reaction tables.
在文件 HitFeel.cpp 第 41 行定义.
引用了 apply(), eve::combat::HitFeelRequest::attacker, eve::combat::Death, eve::combat::Flinch, eve::Duration::fromNanoseconds(), eve::combat::Knockdown, eve::combat::None, eve::combat::DamageOutcome::reaction, request, eve::combat::DamageOutcome::source, eve::combat::Stagger , 以及 eve::combat::DamageOutcome::target.
◆ isFrozen()
|
noexcept |
Whether the subject currently has positive hitstop remaining.
在文件 HitFeel.cpp 第 121 行定义.
引用了 found, subject , 以及 eve::Duration::zero().
◆ isStunned()
|
noexcept |
Whether the subject currently has positive hitstun remaining.
在文件 HitFeel.cpp 第 126 行定义.
引用了 found, subject , 以及 eve::Duration::zero().
◆ state()
| HitFeelState eve::combat::HitFeelRuntime::state | ( | SubjectRef | subject | ) | const |
Return an owning snapshot, or empty defaults when the subject has no feel state.
在文件 HitFeel.cpp 第 115 行定义.
引用了 found, subject , 以及 eve::Duration::zero().
被这些函数引用 advance().
该类的文档由以下文件生成:
- src/modules/combat/HitFeel.h
- src/modules/combat/HitFeel.cpp