Immutable-by-convention template used to create effect instances. 更多...
#include <EffectTypes.h>
Public 成员函数 | |
| eve::Result< void > | validate () const |
| Validates definition fields without changing any state. | |
Public 属性 | |
| std::string | id |
| std::string | stackKey |
| int | priority = 0 |
| double | duration = 0.0 |
| double | period = 0.0 |
| Period in seconds for domain executor settlement; zero disables periodic ticks. | |
| double | magnitude = 0.0 |
| std::uint32_t | stackCount = 1 |
| EffectPolicy | policy |
| EffectPayload | payload |
| std::vector< std::string > | tags |
详细描述
Immutable-by-convention template used to create effect instances.
The container copies the definition data it needs at apply time. It never retains the caller's reference, so a definition may be stack-owned or reloaded after the call. The payload is descriptive data only; applying a definition does not mutate gameplay attributes.
在文件 EffectTypes.h 第 100 行定义.
成员函数说明
◆ validate()
| eve::Result< void > eve::effects::EffectDefinition::validate | ( | ) | const |
Validates definition fields without changing any state.
- 返回
- Success when the definition can be applied, otherwise a structured rejection diagnostic.
在文件 EffectTypes.cpp 第 61 行定义.
引用了 duration, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, magnitude, eve::effects::EffectPolicy::maxStacks, eve::effects::EffectPolicy::overflow, period, policy, eve::effects::Reject, eve::effects::Set, eve::effects::EffectPolicy::stackCount, stackCount , 以及 eve::Result< T >::success().
被这些函数引用 eve::card::CardEffectAdapter::apply(), eve::rts::RTSEffectAdapter::apply(), eve::vehicle::VehicleEffectAdapter::apply() , 以及 eve::weapon::WeaponEffectAdapter::apply().
类成员变量说明
◆ duration
| double eve::effects::EffectDefinition::duration = 0.0 |
◆ id
| std::string eve::effects::EffectDefinition::id |
◆ magnitude
| double eve::effects::EffectDefinition::magnitude = 0.0 |
◆ payload
| EffectPayload eve::effects::EffectDefinition::payload |
在文件 EffectTypes.h 第 110 行定义.
被这些函数引用 eve::card::CardEffectAdapter::apply() , 以及 eve::rts::RTSEffectAdapter::apply().
◆ period
| double eve::effects::EffectDefinition::period = 0.0 |
Period in seconds for domain executor settlement; zero disables periodic ticks.
在文件 EffectTypes.h 第 106 行定义.
被这些函数引用 eve::card::CardEffectAdapter::apply(), eve::rts::RTSEffectAdapter::apply(), eve::vehicle::VehicleEffectAdapter::apply(), eve::weapon::WeaponEffectAdapter::apply() , 以及 validate().
◆ policy
| EffectPolicy eve::effects::EffectDefinition::policy |
◆ priority
| int eve::effects::EffectDefinition::priority = 0 |
在文件 EffectTypes.h 第 103 行定义.
◆ stackCount
| std::uint32_t eve::effects::EffectDefinition::stackCount = 1 |
在文件 EffectTypes.h 第 108 行定义.
被这些函数引用 validate().
◆ stackKey
| std::string eve::effects::EffectDefinition::stackKey |
◆ tags
| std::vector<std::string> eve::effects::EffectDefinition::tags |
该结构体的文档由以下文件生成:
- src/modules/effects/EffectTypes.h
- src/modules/effects/EffectTypes.cpp