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.
成员函数说明
◆ 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.
引用了 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.
引用了 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.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::fromJson(), index, member, eve::PreconditionViolation, root, eve::StaleHandle , 以及 eve::Value::toJson().
◆ clear()
| void eve::rpg::Party::clear | ( | ) |
◆ contains()
| bool eve::rpg::Party::contains | ( | const std::string & | memberId | ) | const |
◆ count()
◆ findMemberActor()
| RPGActor * eve::rpg::Party::findMemberActor | ( | const std::string & | memberId | ) | const |
◆ getMemberActor()
| RPGActor * eve::rpg::Party::getMemberActor | ( | int | index | ) | const |
◆ getMemberId()
| std::string eve::rpg::Party::getMemberId | ( | int | index | ) | const |
◆ hasStaleMembers()
| bool eve::rpg::Party::hasStaleMembers | ( | ) | const |
◆ 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.
- 参数
-
healthResource Required resource used for defeat/revival (for example hp).healthRatio Target fraction of each member's current maximum, in (0, 1]. secondaryResource Optional secondary resource (for example mp), or empty to skip.secondaryRatio Target 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.
引用了 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.
引用了 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.
引用了 eve::Applied, eve::Result< T >::failure(), eve::Status::success() , 以及 eve::Result< T >::success().
友元及相关函数文档
◆ RPGSaveSession
|
friend |
该类的文档由以下文件生成: