载入中...
搜索中...
未找到
eve::physics::action_adapter::ActionCollisionIgnoreState类 参考final

Owns temporary body-pair collision overrides projected from Action windows. 更多...

#include <ActionCollisionIgnoreState.h>

类 eve::physics::action_adapter::ActionCollisionIgnoreState 继承关系图:
eve::action::IActionStateWindowSink

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.

参数
worldWorld observed through its weak lifetime token; it may be destroyed first.
resolverOwning callback used only on window enter to resolve body links.

在文件 ActionCollisionIgnoreState.cpp 第 14 行定义.

◆ ~ActionCollisionIgnoreState()

eve::physics::action_adapter::ActionCollisionIgnoreState::~ActionCollisionIgnoreState ( )
override

Action collision ignore state.

在文件 ActionCollisionIgnoreState.cpp 第 18 行定义.

成员函数说明

◆ activeCount()

std::size_t eve::physics::action_adapter::ActionCollisionIgnoreState::activeCount ( ) const
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()

Result< void > eve::physics::action_adapter::ActionCollisionIgnoreState::enter ( const eve::action::ActionStateWindowBinding &  binding,
const eve::action::ActionTimelineEvent &  event,
const eve::action::ActionNotifyContext &  context 
)
overridevirtual

◆ exit()

Result< void > eve::physics::action_adapter::ActionCollisionIgnoreState::exit ( const eve::action::ActionStateWindowBinding &  binding,
const eve::action::ActionTimelineEvent &  event,
const eve::action::ActionNotifyContext &  context 
)
overridevirtual

◆ pairCount()

std::size_t eve::physics::action_adapter::ActionCollisionIgnoreState::pairCount ( ) const
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()

bool eve::physics::action_adapter::ActionCollisionIgnoreState::supports ( eve::action::ActionStateWindowKind  kind) const
overridevirtualnoexcept

Whether this sink owns the supplied semantic window kind.

Supports.

实现了 eve::action::IActionStateWindowSink.

在文件 ActionCollisionIgnoreState.cpp 第 37 行定义.

引用了 eve::action::CollisionIgnore , 以及 kind.

被这些函数引用 enter() , 以及 exit().


该类的文档由以下文件生成: