载入中...
搜索中...
未找到
AttributeResourceAccount.cpp
浏览该文件的文档.
33eve::Result<void> AttributeResourceAccountAdapter::validateCost(const eve::resource::CostSpec& cost) const {
40 eve::DiagnosticCode::InvalidArgument, "attribute resource view requires a validated CostSpec", "cost"));
79 eve::DiagnosticCode::InvalidArgument, "named attribute resource view received a foreign reservation cost",
84eve::Result<void> AttributeResourceAccountAdapter::rollback(const eve::resource::Reservation& reservation) {
89 eve::DiagnosticCode::InvalidArgument, "named attribute resource view received a foreign reservation cost",
Named Mana/Stamina views over the canonical AttributeSet account.
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
eve::Result< eve::resource::Affordability > canAfford(const eve::resource::CostSpec &cost) const override
Query whether a cost can be paid from currently available funds.
Definition AttributeResourceAccount.cpp:48
static eve::Result< eve::resource::CostSpec > makeCost(AttributeResourceKind kind, std::int64_t amount)
Build a positive cost for this view's named resource.
Definition AttributeResourceAccount.cpp:24
AttributeResourceKind kind() const noexcept
Return the resource exposed by this view.
Definition AttributeResourceAccount.h:45
eve::Result< eve::resource::Receipt > commit(const eve::resource::Reservation &reservation) override
Commit one active reservation as an atomic debit.
Definition AttributeResourceAccount.cpp:73
AttributeResourceAccountAdapter(AttributeSetResourceAccount &account, AttributeResourceKind kind) noexcept
Bind a named view to an existing AttributeSet resource account.
Definition AttributeResourceAccount.cpp:12
eve::Result< eve::resource::Receipt > credit(const eve::resource::CostSpec &cost) override
Atomically credit all items immediately.
Definition AttributeResourceAccount.cpp:67
eve::Result< void > rollback(const eve::resource::Reservation &reservation) override
Release one active reservation without changing balances.
Definition AttributeResourceAccount.cpp:84
eve::Result< eve::resource::Receipt > debit(const eve::resource::CostSpec &cost) override
Atomically debit all items immediately.
Definition AttributeResourceAccount.cpp:61
eve::Result< eve::resource::Reservation > reserve(const eve::resource::CostSpec &cost) override
Reserve all items of a cost without changing visible balances.
Definition AttributeResourceAccount.cpp:55
Adapts integral AttributeSet base values to IResourceAccount.
Definition AttributeSetResourceAccount.h:30
eve::Result< eve::resource::Affordability > canAfford(const eve::resource::CostSpec &cost) const override
Query whether a cost can be paid from currently available funds.
Definition AttributeSetResourceAccount.cpp:126
eve::Result< eve::resource::Receipt > commit(const eve::resource::Reservation &reservation) override
Commit one active reservation as an atomic debit.
Definition AttributeSetResourceAccount.cpp:315
eve::Result< eve::resource::Receipt > credit(const eve::resource::CostSpec &cost) override
Atomically credit all items immediately.
Definition AttributeSetResourceAccount.cpp:252
eve::Result< void > rollback(const eve::resource::Reservation &reservation) override
Release one active reservation without changing balances.
Definition AttributeSetResourceAccount.cpp:350
eve::Result< eve::resource::Reservation > reserve(const eve::resource::CostSpec &cost) override
Reserve all items of a cost without changing visible balances.
Definition AttributeSetResourceAccount.cpp:159
eve::Result< eve::resource::Receipt > debit(const eve::resource::CostSpec &cost) override
Atomically debit all items immediately.
Definition AttributeSetResourceAccount.cpp:226
const std::vector< ResourceCost > & items() const noexcept
Return canonical items as a read-only borrowed view.
Definition ResourceAccount.h:185
bool isValid() const noexcept
Whether this value contains a validated non-empty cost.
Definition ResourceAccount.h:175
std::size_t size() const noexcept
Return the number of canonical resource entries.
Definition ResourceAccount.h:188
static eve::Result< CostSpec > single(std::string_view resource, std::int64_t amount)
Build a one-resource cost.
Definition ResourceAccount.cpp:117
Definition AttributeProjection.cpp:9
AttributeResourceKind
Attribute-backed resource names used by common gameplay adapters.
Definition AttributeResourceAccount.h:17
@ InvalidArgument
Reservation credential returned by a successful reserve operation.
Definition ResourceAccount.h:279
bool isValid() const noexcept
Whether this credential has valid account/id identity and cost.
Definition ResourceAccount.h:285