载入中...
搜索中...
未找到
eve::rpg::Party类 参考

Authoritative ordered relationship between stable party member IDs and RPG actors. @ownership Party owns only stable IDs and generation-qualified links; the RPG ECS world owns actors. @thread Use on the actors' owning simulation thread. 更多...

#include <Party.h>

Public 成员函数

eve::Result< void > addMember (const std::string &memberId, RPGActor *actor)
 Append one unique stable member ID and live actor as one atomic roster mutation.
 
eve::Result< void > removeMember (const std::string &memberId)
 Remove one member ID without destroying its actor.
 
void clear ()
 Clear every relationship without destroying actors.
 
int count () const
 Returns the number of .
 
bool contains (const std::string &memberId) const
 True if active.
 
bool hasStaleMembers () const
 True when stale members.
 
std::string getMemberId (int index) const
 Returns the member id.
 
RPGActor * getMemberActor (int index) const
 Resolve a member by ordered index.
 
RPGActor * findMemberActor (const std::string &memberId) const
 Resolve a member by stable ID.
 
eve::Result< int > addToBattle (Battle *battle, int side) const
 Add every live roster member to a battle side after validating the complete roster.
 
eve::Result< int > recoverAtCheckpoint (const std::string &healthResource, double healthRatio, const std::string &secondaryResource={}, double secondaryRatio=0.0)
 Atomically restore every live member at a safe checkpoint.
 
eve::Result< std::string > checkpointJson () const
 Capture ordered member IDs and every actor safe checkpoint into one versioned document.
 
eve::Result< void > restoreCheckpointJson (std::string_view json)
 Validate and atomically restore every existing party member actor.
 

友元

class RPGSaveSession
 

详细描述

Authoritative ordered relationship between stable party member IDs and RPG actors. @ownership Party owns only stable IDs and generation-qualified links; the RPG ECS world owns actors. @thread Use on the actors' owning simulation thread.

在文件 Party.h 第 24 行定义.

成员函数说明

◆ addMember()

eve::Result< void > eve::rpg::Party::addMember ( const std::string &  memberId,
RPGActor *  actor 
)

Append one unique stable member ID and live actor as one atomic roster mutation.

返回
Applied, or a structured failure preserving the roster. @ownership The actor remains ECS-owned and must outlive its membership or be detected as stale. @reentrancy Does not invoke callbacks.

在文件 Party.cpp 第 35 行定义.

引用了 eve::AlreadyExists, eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), handle, eve::InvalidArgument, member, eve::StaleHandle, eve::Status::success() , 以及 eve::Result< T >::success().

◆ addToBattle()

eve::Result< int > eve::rpg::Party::addToBattle ( Battle *  battle,
int  side 
) const

Add every live roster member to a battle side after validating the complete roster.

返回
Member count, or a structured failure without changing the battle.
备注
Empty or stale rosters are rejected before the first Battle mutation.

在文件 Party.cpp 第 104 行定义.

引用了 eve::rpg::Battle::addActor(), eve::Diagnostic::error(), eve::Result< T >::failure(), index, eve::InvalidArgument, eve::PreconditionViolation, side, eve::StaleHandle , 以及 eve::Result< T >::success().

◆ checkpointJson()

eve::Result< std::string > eve::rpg::Party::checkpointJson ( ) const

Capture ordered member IDs and every actor safe checkpoint into one versioned document.

在文件 Party.cpp 第 182 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::fromJson(), index, member, eve::PreconditionViolation, root, eve::StaleHandle , 以及 eve::Value::toJson().

被这些函数引用 eve::rpg::RPGSaveSession::snapshotJson().

◆ clear()

void eve::rpg::Party::clear ( )

Clear every relationship without destroying actors.

在文件 Party.cpp 第 70 行定义.

◆ contains()

bool eve::rpg::Party::contains ( const std::string &  memberId) const

True if active.

在文件 Party.cpp 第 73 行定义.

引用了 member.

◆ count()

int eve::rpg::Party::count ( ) const

Returns the number of .

在文件 Party.cpp 第 71 行定义.

◆ findMemberActor()

RPGActor * eve::rpg::Party::findMemberActor ( const std::string &  memberId) const

Resolve a member by stable ID.

返回
Borrowed nullable actor; null means unknown ID or stale generation. @ownership The RPG ECS world owns the actor. @lifetime Valid until actor/world destruction; do not retain beyond structural mutation.

在文件 Party.cpp 第 97 行定义.

引用了 found , 以及 member.

◆ getMemberActor()

RPGActor * eve::rpg::Party::getMemberActor ( int  index) const

Resolve a member by ordered index.

返回
Borrowed nullable actor; null means invalid index or stale generation. @ownership The RPG ECS world owns the actor. @lifetime Valid until actor/world destruction; do not retain beyond structural mutation.

在文件 Party.cpp 第 91 行定义.

引用了 index.

◆ getMemberId()

std::string eve::rpg::Party::getMemberId ( int  index) const

Returns the member id.

在文件 Party.cpp 第 85 行定义.

引用了 index.

◆ hasStaleMembers()

bool eve::rpg::Party::hasStaleMembers ( ) const

True when stale members.

在文件 Party.cpp 第 79 行定义.

引用了 member.

◆ recoverAtCheckpoint()

eve::Result< int > eve::rpg::Party::recoverAtCheckpoint ( const std::string &  healthResource,
double  healthRatio,
const std::string &  secondaryResource = {},
double  secondaryRatio = 0.0 
)

Atomically restore every live member at a safe checkpoint.

参数
healthResourceRequired resource used for defeat/revival (for example hp).
healthRatioTarget fraction of each member's current maximum, in (0, 1].
secondaryResourceOptional secondary resource (for example mp), or empty to skip.
secondaryRatioTarget secondary fraction in [0, 1].
返回
Recovered member count, or a structured failure leaving every member unchanged.
备注
The complete roster and all resource maxima are validated before any mutation. @reentrancy Does not invoke callbacks or scripts; Vitals events are appended during commit.

在文件 Party.cpp 第 126 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), index, eve::InvalidArgument, eve::PreconditionViolation, eve::StaleHandle , 以及 eve::Result< T >::success().

◆ removeMember()

eve::Result< void > eve::rpg::Party::removeMember ( const std::string &  memberId)

Remove one member ID without destroying its actor.

在文件 Party.cpp 第 59 行定义.

引用了 eve::Applied, eve::Diagnostic::error(), eve::Result< T >::failure(), found, member, eve::NotFound, eve::Status::success() , 以及 eve::Result< T >::success().

◆ restoreCheckpointJson()

eve::Result< void > eve::rpg::Party::restoreCheckpointJson ( std::string_view  json)

Validate and atomically restore every existing party member actor.

备注
Member IDs and order must exactly match the live roster; roster relationships are not recreated.

在文件 Party.cpp 第 264 行定义.

引用了 eve::Applied, eve::Result< T >::failure(), eve::Status::success() , 以及 eve::Result< T >::success().

友元及相关函数文档

◆ RPGSaveSession

friend class RPGSaveSession
friend

在文件 Party.h 第 102 行定义.


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