载入中...
搜索中...
未找到
CardPlay.h
浏览该文件的文档.
33 std::function<std::optional<decision::ConditionResult>(std::string_view name, const eve::Value& arguments)>;
98 [[nodiscard]] static decision::ConditionResult evaluate(const CardData* card, const CardDefinition& definition,
120 [[nodiscard]] eve::Result<void> prepare(const eve::transaction::TransactionContext& context) override;
123 [[nodiscard]] eve::Result<void> commit(const eve::transaction::TransactionContext& context) override;
126 [[nodiscard]] eve::Result<void> rollback(const eve::transaction::TransactionContext& context) override;
129 [[nodiscard]] eve::Result<void> compensate(const eve::transaction::TransactionContext& context) override;
190 [[nodiscard]] static eve::Result<eve::transaction::TransactionReceipt> play(CardPlayRequest request);
197 [[nodiscard]] static eve::Result<std::optional<eve::resource::CostSpec>> manaCost(const CardDefinition& definition);
209 CardData& card, const CardDefinition& definition, eve::resource::IResourceAccount& playerAccount,
Small transaction facade for a resource cost plus one domain effect.
Pure, explainable condition trees shared by gameplay domains.
Low-level container membership, zone and atomic transfer contracts.
单张卡牌:ECS 实体,数据拆成 Identity / Stats / Visual / Layout / State。
Definition CardTypes.h:94
Evaluates one card play condition without moving or mutating a card.
Definition CardPlay.h:88
Read-only EvaluationContext backed by one card instance and definition.
Definition CardPlay.h:47
std::optional< bool > hasTag(std::string_view tag) const override
Query tag membership; nullopt means the tag source is unavailable.
Definition CardPlay.cpp:35
std::optional< eve::Value > resource(std::string_view key) const override
Query a resource amount or resource marker.
Definition CardPlay.cpp:48
std::optional< bool > authority(std::string_view scope) const override
Query authority without changing grants, leases, or state.
Definition CardPlay.cpp:57
std::optional< decision::ConditionResult > policy(std::string_view name, const eve::Value &arguments) const override
Evaluate a named read-only policy with owned arguments.
Definition CardPlay.cpp:62
std::optional< eve::Value > state(std::string_view key) const override
Query a state value for StateEquals nodes.
Definition CardPlay.cpp:53
std::optional< eve::Value > attribute(std::string_view key) const override
Query an attribute value; nullopt means the attribute is absent.
Definition CardPlay.cpp:40
Transaction participant that publishes one CardData play.
Definition CardPlay.h:111
eve::Result< void > rollback(const eve::transaction::TransactionContext &context) override
Discard a prepared but not committed stage.
Definition CardPlay.cpp:290
eve::Result< void > commit(const eve::transaction::TransactionContext &context) override
Publish this participant's staged changes.
Definition CardPlay.cpp:277
eve::Result< void > prepare(const eve::transaction::TransactionContext &context) override
Validate and stage local changes for the transaction.
Definition CardPlay.cpp:265
eve::Result< void > compensate(const eve::transaction::TransactionContext &context) override
Undo an already committed external effect by compensation.
Definition CardPlay.cpp:298
std::string_view name() const noexcept override
Stable transaction diagnostic name.
Definition CardPlay.h:117
Connects a card's mana field to the owning player's resource account.
Definition CardPlay.h:178
Borrowed container implementation owned by a domain adapter.
Definition Container.h:287
Explain one condition evaluation in a UI- and log-friendly form.
Definition Condition.h:129
Read-only state boundary used by every condition evaluation.
Definition Condition.h:166
Provider-neutral resource account contract.
Definition ResourceAccount.h:316
Synchronous participant contract for one coordinator transaction.
Definition Transaction.h:128
Immutable context shared by every participant of one transaction.
Definition Transaction.h:30
Definition Card.cpp:19
Optional cross-domain operations that belong to one card play.
Definition CardPlay.h:147
std::optional< eve::container::SlotIndex > sourceSlot
Definition CardPlay.h:151
eve::transaction::ITransactionParticipant * effect
Definition CardPlay.h:153
std::optional< eve::container::SlotIndex > destinationSlot
Definition CardPlay.h:152
eve::container::IContainer * destination
Definition CardPlay.h:150
CardPlayConditionQueries conditionQueries
Definition CardPlay.h:148
Read-only extension points used while evaluating a card play.
Definition CardPlay.h:29
std::function< std::optional< bool >(std::string_view scope)> Authority
Definition CardPlay.h:31
std::function< std::optional< decision::ConditionResult >(std::string_view name, const eve::Value &arguments)> Policy
Definition CardPlay.h:33
std::function< std::optional< eve::Value >(std::string_view key)> Resource
Definition CardPlay.h:30
Complete caller-owned input for one atomic card play.
Definition CardPlay.h:163
eve::resource::IResourceAccount * playerAccount
Definition CardPlay.h:166