Authoritative registry and lease manager for reservable world interactions. 更多...
#include <SmartObject.h>
Public 成员函数 | |
| Result< SmartObjectHandle > | registerObject (SmartObjectDefinition definition) |
| Validates and atomically registers one uniquely named object. | |
| Result< void > | removeObject (SmartObjectHandle object, SmartObjectRemoval policy) |
| Removes an object using the explicit live-claim policy. | |
| Result< std::vector< SmartObjectCandidate > > | query (const SmartObjectQuery &query) const |
| Returns unclaimed matching slots in deterministic distance/name order. | |
| Result< SmartObjectClaimHandle > | claim (AgentHandle agent, SmartObjectHandle object, std::string_view slotId, std::uint64_t currentTick, std::uint64_t leaseTicks) |
| Atomically leases one free slot to an agent for a bounded tick duration. | |
| Result< void > | renew (SmartObjectClaimHandle claim, AgentHandle agent, std::uint64_t currentTick, std::uint64_t leaseTicks) |
| Extends a live claim after verifying its owner. | |
| Result< void > | release (SmartObjectClaimHandle claim, AgentHandle agent) |
| Releases a live claim after verifying its owner. | |
| Result< std::uint32_t > | releaseAgentClaims (AgentHandle agent) |
| Releases every live claim owned by an agent before agent destruction. | |
| Result< SmartObjectExpirationReport > | expire (std::uint64_t currentTick) |
| Expires all elapsed leases in stable claim-slot order. | |
| Result< SmartObjectClaimSnapshot > | snapshot (SmartObjectClaimHandle claim) const |
| Returns an owning claim snapshot, or StaleHandle. | |
详细描述
Authoritative registry and lease manager for reservable world interactions.
- 备注
- All handles are process-local and generation checked. The registry owns definitions and claims. Call releaseAgentClaims before destroying an owning NPC, or rely on lease expiry as bounded stale cleanup. Removing an object either rejects live claims or explicitly cancels them according to SmartObjectRemoval. @thread Simulation-thread-affine; no synchronization is provided. @reentrancy Methods do not invoke external callbacks.
在文件 SmartObject.h 第 84 行定义.
成员函数说明
◆ claim()
| Result< SmartObjectClaimHandle > eve::npc_ai::SmartObjectWorld::claim | ( | AgentHandle | agent, |
| SmartObjectHandle | object, | ||
| std::string_view | slotId, | ||
| std::uint64_t | currentTick, | ||
| std::uint64_t | leaseTicks | ||
| ) |
Atomically leases one free slot to an agent for a bounded tick duration.
在文件 SmartObject.cpp 第 151 行定义.
引用了 eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), generation, handle, index, eve::InvalidArgument, eve::RuntimeHandle< Tag >::isValid(), eve::NotFound, object, eve::Result< T >::success() , 以及 value.
被这些函数引用 removeObject().
◆ expire()
| Result< SmartObjectExpirationReport > eve::npc_ai::SmartObjectWorld::expire | ( | std::uint64_t | currentTick | ) |
Expires all elapsed leases in stable claim-slot order.
在文件 SmartObject.cpp 第 237 行定义.
引用了 generation, index, eve::Result< T >::success() , 以及 value.
◆ query()
| Result< std::vector< SmartObjectCandidate > > eve::npc_ai::SmartObjectWorld::query | ( | const SmartObjectQuery & | query | ) | const |
Returns unclaimed matching slots in deterministic distance/name order.
在文件 SmartObject.cpp 第 121 行定义.
引用了 a, eve::npc_ai::SmartObjectQuery::activity, b, distance, dx, dy, dz, eve::Diagnostic::error(), index, eve::InvalidArgument, eve::npc_ai::SmartObjectQuery::maxDistance, eve::npc_ai::SmartObjectQuery::origin, eve::npc_ai::SmartObjectQuery::requiredTags , 以及 tag.
◆ registerObject()
| Result< SmartObjectHandle > eve::npc_ai::SmartObjectWorld::registerObject | ( | SmartObjectDefinition | definition | ) |
Validates and atomically registers one uniquely named object.
在文件 SmartObject.cpp 第 14 行定义.
引用了 eve::AlreadyExists, eve::Diagnostic::error(), eve::Result< T >::failure(), generation, handle, index, eve::InvalidArgument, eve::Object , 以及 eve::Result< T >::success().
◆ release()
| Result< void > eve::npc_ai::SmartObjectWorld::release | ( | SmartObjectClaimHandle | claim, |
| AgentHandle | agent | ||
| ) |
Releases a live claim after verifying its owner.
在文件 SmartObject.cpp 第 201 行定义.
引用了 eve::Applied, eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Status::success() , 以及 eve::Result< T >::success().
◆ releaseAgentClaims()
| Result< std::uint32_t > eve::npc_ai::SmartObjectWorld::releaseAgentClaims | ( | AgentHandle | agent | ) |
Releases every live claim owned by an agent before agent destruction.
在文件 SmartObject.cpp 第 225 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), generation, index, eve::InvalidArgument, eve::RuntimeHandle< Tag >::isValid(), owned, eve::Result< T >::success() , 以及 value.
◆ removeObject()
| Result< void > eve::npc_ai::SmartObjectWorld::removeObject | ( | SmartObjectHandle | object, |
| SmartObjectRemoval | policy | ||
| ) |
Removes an object using the explicit live-claim policy.
在文件 SmartObject.cpp 第 97 行定义.
引用了 eve::Applied, claim(), eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), index, eve::RuntimeHandle< SmartObjectHandleTag >::nextGeneration(), eve::npc_ai::RejectClaimed, eve::Status::success(), eve::Result< T >::success() , 以及 value.
◆ renew()
| Result< void > eve::npc_ai::SmartObjectWorld::renew | ( | SmartObjectClaimHandle | claim, |
| AgentHandle | agent, | ||
| std::uint64_t | currentTick, | ||
| std::uint64_t | leaseTicks | ||
| ) |
Extends a live claim after verifying its owner.
在文件 SmartObject.cpp 第 182 行定义.
引用了 eve::Applied, eve::Conflict, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::PreconditionViolation, eve::Status::success() , 以及 eve::Result< T >::success().
◆ snapshot()
| Result< SmartObjectClaimSnapshot > eve::npc_ai::SmartObjectWorld::snapshot | ( | SmartObjectClaimHandle | claim | ) | const |
Returns an owning claim snapshot, or StaleHandle.
在文件 SmartObject.cpp 第 246 行定义.
引用了 eve::Result< T >::failure() , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/npc_ai/SmartObject.h
- src/modules/npc_ai/SmartObject.cpp