载入中...
搜索中...
未找到
CardAttributes.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
11
12#include <string_view>
13
14namespace eve::card {
15
16class CardData;
17
27public:
28 static constexpr std::string_view attackAttribute = "attack";
29 static constexpr std::string_view healthAttribute = "health";
30
32 [[nodiscard]] static eve::Result<void> ensure(CardData& card);
33
35 [[nodiscard]] static eve::Result<double> read(CardData& card, std::string_view attribute);
36
38 [[nodiscard]] static eve::Result<void> setBase(CardData& card, std::string_view attribute, double value);
39
41 [[nodiscard]] static eve::Result<eve::attributes::ModifierId> addModifier(
42 CardData& card, std::string id, std::string_view attribute, std::string source,
44 eve::attributes::ModifierPriority priority = eve::attributes::priority::runtime);
45
47 [[nodiscard]] static eve::Result<void> project(CardData& card);
48
51
53 [[nodiscard]] static eve::Result<void> restore(CardData& card,
55 eve::Revision expectedRevision);
56};
57
58} // namespace eve::card
ActionParameterOperation operation
double value
Owner-aware canonical attribute state shared by gameplay adapters.
int priority
#define EVENGINE_API_WORLD
Definition Export.h:109
const UnitySourceAsset & source
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Adapts CardData's attack/health values to the canonical AttributeSet.
单张卡牌:ECS 实体,数据拆成 Identity / Stats / Visual / Layout / State。
Definition CardTypes.h:94
AttributeOperation
Built-in calculation operation for an attribute modifier.
std::int32_t ModifierPriority
Transaction-safe snapshot of selected attributes and their modifiers.