Owns temporary body-pair collision overrides projected from Action windows. 更多...
#include <ActionCollisionIgnoreState.h>
Public 成员函数 | |
| ActionCollisionIgnoreState (World3D &world, ActionCollisionPairResolver resolver) | |
| Construct an adapter for one borrowed 3D world. | |
| ~ActionCollisionIgnoreState () override | |
| Action collision ignore state. | |
| void | setEnabled (bool enabled) |
| Opt this adapter into or out of Action state-window dispatch. | |
| bool | enabled () const |
| Return whether this exact adapter is registered. | |
| bool | supports (eve::action::ActionStateWindowKind kind) const noexcept override |
| Whether this sink owns the supplied semantic window kind. | |
| Result< void > | enter (const eve::action::ActionStateWindowBinding &binding, const eve::action::ActionTimelineEvent &event, const eve::action::ActionNotifyContext &context) override |
| Enter one validated window or idempotently observe the same active key. | |
| Result< void > | exit (const eve::action::ActionStateWindowBinding &binding, const eve::action::ActionTimelineEvent &event, const eve::action::ActionNotifyContext &context) override |
| Exit one previously entered window by execution and item identity. | |
| Result< void > | shutdown () |
| Unregister and restore every still-live pair to its pre-window state. | |
| std::size_t | activeCount () const noexcept |
| Number of active execution/item window keys. | |
| std::size_t | pairCount () const noexcept |
| Number of distinct body pairs currently owned by the adapter. | |
Public 成员函数 继承自 eve::action::IActionStateWindowSink | |
| virtual | ~IActionStateWindowSink ()=default |
| Releases IActionStateWindowSink resources. | |
额外继承的成员函数 | |
静态 Public 属性 继承自 eve::action::IActionStateWindowSink | |
| static constexpr const char * | capabilityName = "eve.action.state-window-sink" |
详细描述
Owns temporary body-pair collision overrides projected from Action windows.
World3D remains the collision authority. This adapter stores only world/body generation handles across dispatches, reference-counts overlapping windows, and restores the pre-window pair state after the final exit. It observes the world's weak lifetime token, so destroying the world first safely invalidates all pending projections. Methods are owner-thread-only and callbacks are never invoked while mutating World3D.
在文件 ActionCollisionIgnoreState.h 第 47 行定义.
构造及析构函数说明
◆ ActionCollisionIgnoreState()
| eve::physics::action_adapter::ActionCollisionIgnoreState::ActionCollisionIgnoreState | ( | World3D & | world, |
| ActionCollisionPairResolver | resolver | ||
| ) |
Construct an adapter for one borrowed 3D world.
- 参数
-
world World observed through its weak lifetime token; it may be destroyed first. resolver Owning callback used only on window enter to resolve body links.
在文件 ActionCollisionIgnoreState.cpp 第 14 行定义.
◆ ~ActionCollisionIgnoreState()
|
override |
Action collision ignore state.
在文件 ActionCollisionIgnoreState.cpp 第 18 行定义.
成员函数说明
◆ activeCount()
|
inlinenoexcept |
Number of active execution/item window keys.
在文件 ActionCollisionIgnoreState.h 第 83 行定义.
◆ enabled()
| bool eve::physics::action_adapter::ActionCollisionIgnoreState::enabled | ( | ) | const |
Return whether this exact adapter is registered.
在文件 ActionCollisionIgnoreState.cpp 第 23 行定义.
引用了 index.
被这些函数引用 setEnabled().
◆ enter()
|
overridevirtual |
Enter one validated window or idempotently observe the same active key.
Enter.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionCollisionIgnoreState.cpp 第 73 行定义.
引用了 eve::Applied, binding, eve::Conflict, context, eve::Diagnostic::error(), eve::Result< T >::failure(), first, eve::NoOp, eve::NotFound, second, eve::StaleHandle, subject, eve::Status::success(), eve::Result< T >::success(), supports(), eve::Unsupported , 以及 world.
◆ exit()
|
overridevirtual |
Exit one previously entered window by execution and item identity.
Exit.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionCollisionIgnoreState.cpp 第 120 行定义.
引用了 eve::Applied, binding, context, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::NoOp, eve::Status::success(), eve::Result< T >::success(), supports() , 以及 eve::Unsupported.
◆ pairCount()
|
inlinenoexcept |
Number of distinct body pairs currently owned by the adapter.
在文件 ActionCollisionIgnoreState.h 第 85 行定义.
◆ setEnabled()
| void eve::physics::action_adapter::ActionCollisionIgnoreState::setEnabled | ( | bool | enabled | ) |
Opt this adapter into or out of Action state-window dispatch.
在文件 ActionCollisionIgnoreState.cpp 第 29 行定义.
引用了 current, enabled() , 以及 value.
被这些函数引用 shutdown().
◆ shutdown()
| Result< void > eve::physics::action_adapter::ActionCollisionIgnoreState::shutdown | ( | ) |
Unregister and restore every still-live pair to its pre-window state.
- 返回
- Applied when state was released, otherwise NoOp; stale bodies/worlds are already cleared by the physics authority and are treated as released.
在文件 ActionCollisionIgnoreState.cpp 第 155 行定义.
引用了 eve::Applied, eve::NoOp, setEnabled(), eve::Status::success() , 以及 eve::Result< T >::success().
◆ supports()
|
overridevirtualnoexcept |
Whether this sink owns the supplied semantic window kind.
Supports.
实现了 eve::action::IActionStateWindowSink.
在文件 ActionCollisionIgnoreState.cpp 第 37 行定义.
引用了 eve::action::CollisionIgnore , 以及 kind.
该类的文档由以下文件生成:
- src/modules/physics/action/ActionCollisionIgnoreState.h
- src/modules/physics/action/ActionCollisionIgnoreState.cpp
Public 成员函数 继承自