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

Product-level transaction boundary for quest completion and rewards. 更多...

#include <QuestReward.h>

静态 Public 成员函数

static eve::Result< int > claim (Tracker &tracker, GameState &gameState, inventory::Bag &bag, const std::string &questId)
 Validate and atomically claim every reward declared by one ready quest.
 

详细描述

Product-level transaction boundary for quest completion and rewards.

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

成员函数说明

◆ claim()

eve::Result< int > eve::rpg::QuestReward::claim ( Tracker &  tracker,
GameState &  gameState,
inventory::Bag &  bag,
const std::string &  questId 
)
static

Validate and atomically claim every reward declared by one ready quest.

参数
trackerBorrowed authoritative quest tracker.
gameStateBorrowed authoritative numeric attribute owner.
bagBorrowed authoritative inventory owner.
questIdExact registered quest id whose state must be ready.
返回
Number of committed reward entries, or a structured failure with no observable mutation.
备注
Reward type item adds an integral quantity to Bag; attribute adds a finite amount to the same-named GameState variable. Unsupported or malformed rewards are rejected before mutation. Inventory hooks run only after quest, attributes, and inventory have all reached their final state. @ownership Participants remain caller-owned and must outlive this call. @thread Call on the participants' owning simulation thread; concurrent mutation is unsupported. @reentrancy Inventory hooks may re-enter after the no-fail commit boundary only.

在文件 QuestReward.cpp 第 25 行定义.

引用了 eve::rpg::GameState::addVariable(), eve::rpg::RewardSpec::amount, eve::Applied, eve::rpg::QuestSystem::claim(), eve::inventory::InventorySystem::commitAddBatch(), eve::Conflict, eve::rpg::Tracker::entries, eve::Result< T >::failure(), eve::rpg::QuestRegistry::find(), eve::rpg::Tracker::getState(), eve::rpg::GameState::getVariable(), eve::rpg::RewardSpec::id, index, eve::InvalidArgument, eve::InvariantViolation, eve::NotFound, eve::Result< void >::ok(), eve::rpg::Tracker::order, path, eve::rpg::Tracker::pending, eve::rpg::Tracker::polled, eve::PreconditionViolation, eve::inventory::InventorySystem::prepareAddBatch(), eve::rpg::GameState::restoreSnapshotJson(), eve::rpg::GameState::snapshotJson(), eve::Status::success(), eve::Result< T >::success(), eve::rpg::RewardSpec::type , 以及 eve::Unsupported.

被这些函数引用 eve::rpg::RPG::claimQuestRewards() , 以及 eve::rpg::ProductControl::submitGameplay().


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