载入中...
搜索中...
未找到
WeaponAttributes.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
11
12#include <string>
13#include <string_view>
14
15namespace eve::weapon {
16
17class WeaponEntity;
18
27public:
28 static constexpr std::string_view manaAttribute = "mana";
29 static constexpr std::string_view maxManaAttribute = "max_mana";
30 static constexpr std::string_view staminaAttribute = "stamina";
31 static constexpr std::string_view maxStaminaAttribute = "max_stamina";
32
34 [[nodiscard]] static eve::Result<void> ensure(WeaponEntity& weapon);
35
37 [[nodiscard]] static eve::Result<double> read(WeaponEntity& weapon, std::string_view attribute);
38
40 [[nodiscard]] static eve::Result<void> setBase(WeaponEntity& weapon, std::string_view attribute, double value);
41
43 [[nodiscard]] static eve::Result<void> consumeTriggerResource(WeaponEntity& weapon);
44
46 [[nodiscard]] static eve::Result<eve::attributes::ModifierId> addModifier(
47 WeaponEntity& weapon, std::string id, std::string_view attribute, std::string source,
49 eve::attributes::ModifierPriority priority = eve::attributes::priority::runtime);
50
52 [[nodiscard]] static eve::Result<void> project(WeaponEntity& weapon);
53
56
58 [[nodiscard]] static eve::Result<void> restore(WeaponEntity& weapon,
60 eve::Revision expectedRevision);
61};
62
63} // namespace eve::weapon
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 only Mana/Stamina trigger resources to AttributeProjection.
武器实体:数据全部在组件里,行为在 WeaponSystem。
AttributeOperation
Built-in calculation operation for an attribute modifier.
std::int32_t ModifierPriority
载具模块入口(eve.Vehicle):定义注册 / 实体工厂 / RTS 命令 / 帧调度。 设计文档:docs/dev/通用载具系统设计.md
Transaction-safe snapshot of selected attributes and their modifiers.