载入中...
搜索中...
未找到
Party.cpp
浏览该文件的文档.
38 eve::DiagnosticCode::InvalidArgument, "party member id must be stable, non-empty, and free of controls",
42 eve::DiagnosticCode::InvalidArgument, "party member actor must not be null", "actor", {}, "rpg.party"));
50 eve::DiagnosticCode::AlreadyExists, "party member id is already present", "memberId", {}, "rpg.party"));
53 eve::DiagnosticCode::AlreadyExists, "actor is already linked to the party", "actor", {}, "rpg.party"));
131 return eve::Result<int>::failure(eve::Diagnostic::error(eve::DiagnosticCode::PreconditionViolation,
137 eve::DiagnosticCode::InvalidArgument, "party recovery requires a health resource and ratio in (0, 1]",
142 eve::DiagnosticCode::InvalidArgument, "secondary recovery resource must be distinct and ratio in [0, 1]",
159 eve::DiagnosticCode::PreconditionViolation, "party member has no positive finite health maximum",
184 return eve::Result<std::string>::failure(eve::Diagnostic::error(eve::DiagnosticCode::PreconditionViolation,
193 eve::Diagnostic::error(eve::DiagnosticCode::StaleHandle, "party checkpoint found a stale member",
211eve::Result<Party::CheckpointCandidate> Party::prepareCheckpointJson(std::string_view json) const {
220 eve::Diagnostic::error(eve::DiagnosticCode::InvalidArgument, "checkpoint does not belong to RPG Party",
224 eve::DiagnosticCode::UnknownVersion, "unsupported party checkpoint version", "version", {}, "rpg.party"));
241 eve::Diagnostic::error(eve::DiagnosticCode::ParseError, "checkpoint member actor must be an object",
回合制战斗对象:参战者、行动顺序、目标选取、行动执行。
Generation-safe ordered RPG party relationships.
std::map< std::string, std::span< const std::uint8_t > > members
Definition UnityPackage.cpp:81
Owning, renderer-independent dynamic values.
当前资源(hp/mana...)的受伤 / 治疗 / 复活 / 死亡。
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Result< std::string > toJson() const
Serialize this value as deterministic compact JSON.
Definition Value.cpp:67
static Result< Value > fromJson(std::string_view json)
Parse one strict JSON value into an owning Value.
Definition Value.cpp:57
一场回合制战斗(任意阵营数)。 @ownership 由调用方创建/销毁;Battle 不持有参与者的所有权(参与者为借用 ECS actor)。 @thread 在单一模拟线程上驱动整场战斗。
Definition Battle.h:54
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.
Definition Party.cpp:126
eve::Result< void > restoreCheckpointJson(std::string_view json)
Validate and atomically restore every existing party member actor.
Definition Party.cpp:264
eve::Result< int > addToBattle(Battle *battle, int side) const
Add every live roster member to a battle side after validating the complete roster.
Definition Party.cpp:104
RPGActor * findMemberActor(const std::string &memberId) const
Resolve a member by stable ID.
Definition Party.cpp:97
eve::Result< void > removeMember(const std::string &memberId)
Remove one member ID without destroying its actor.
Definition Party.cpp:59
eve::Result< std::string > checkpointJson() const
Capture ordered member IDs and every actor safe checkpoint into one versioned document.
Definition Party.cpp:182
eve::Result< void > addMember(const std::string &memberId, RPGActor *actor)
Append one unique stable member ID and live actor as one atomic roster mutation.
Definition Party.cpp:35
@ InvalidArgument
@ NotFound
@ UnknownVersion
@ PreconditionViolation
@ AlreadyExists
@ ParseError
@ StaleHandle
@ Conflict
@ Applied