载入中...
搜索中...
未找到
eve::rpg::EffectDefinition结构体 参考

#include <Effect.h>

Public 成员函数

bool hasTag (const std::string &tag) const
 
std::string getExtra (const std::string &key, const std::string &fallback={}) const
 

Public 属性

std::string id
 
std::string durationPolicy = "instant"
 "instant" | "duration" | "infinite"(未知值按 "instant" 处理)。
 
float duration = 0.f
 durationPolicy == "duration" 时使用(秒)
 
float period = 0.f
 > 0 时为周期效果:每隔 period 秒产生一次 StatusTickEvent。
 
std::string stackPolicy = "none"
 "none" | "refresh" | "extend" | "stack",或 StatusSystem::registerStackPolicy 注册的名字。 未知且未注册时按 "none" 处理。
 
int maxStacks = 1
 
std::vector< EffectModifierSpecmodifiers
 durationPolicy 为 duration/infinite 且 period<=0 时,apply 会直接写入这些修改器。
 
std::vector< std::string > tags
 
std::unordered_map< std::string, std::string > extra
 游戏自定义附加数据(图标路径、特效名、脚本钩子……)。
 

详细描述

在文件 Effect.h32 行定义.

成员函数说明

◆ getExtra()

std::string eve::rpg::EffectDefinition::getExtra ( const std::string &  key,
const std::string &  fallback = {} 
) const

在文件 Effect.cpp15 行定义.

引用了 extra.

◆ hasTag()

bool eve::rpg::EffectDefinition::hasTag ( const std::string &  tag) const

在文件 Effect.cpp11 行定义.

引用了 tags.

被这些函数引用 eve::rpg::StatusSystem::hasTag() , 以及 eve::rpg::StatusSystem::removeByTag().

类成员变量说明

◆ duration

float eve::rpg::EffectDefinition::duration = 0.f

durationPolicy == "duration" 时使用(秒)

在文件 Effect.h37 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply().

◆ durationPolicy

std::string eve::rpg::EffectDefinition::durationPolicy = "instant"

"instant" | "duration" | "infinite"(未知值按 "instant" 处理)。

在文件 Effect.h36 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply().

◆ extra

std::unordered_map<std::string, std::string> eve::rpg::EffectDefinition::extra

游戏自定义附加数据(图标路径、特效名、脚本钩子……)。

在文件 Effect.h55 行定义.

被这些函数引用 getExtra().

◆ id

std::string eve::rpg::EffectDefinition::id

在文件 Effect.h33 行定义.

被这些函数引用 eve::rpg::EffectRegistry::loadFromJson() , 以及 eve::rpg::EffectRegistry::registerEffect().

◆ maxStacks

int eve::rpg::EffectDefinition::maxStacks = 1

在文件 Effect.h47 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply().

◆ modifiers

std::vector<EffectModifierSpec> eve::rpg::EffectDefinition::modifiers

durationPolicy 为 duration/infinite 且 period<=0 时,apply 会直接写入这些修改器。

在文件 Effect.h50 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply().

◆ period

float eve::rpg::EffectDefinition::period = 0.f

> 0 时为周期效果:每隔 period 秒产生一次 StatusTickEvent。

在文件 Effect.h40 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply() , 以及 eve::rpg::StatusSystem::update().

◆ stackPolicy

std::string eve::rpg::EffectDefinition::stackPolicy = "none"

"none" | "refresh" | "extend" | "stack",或 StatusSystem::registerStackPolicy 注册的名字。 未知且未注册时按 "none" 处理。

在文件 Effect.h46 行定义.

被这些函数引用 eve::rpg::StatusSystem::apply().

◆ tags

std::vector<std::string> eve::rpg::EffectDefinition::tags

在文件 Effect.h52 行定义.

被这些函数引用 hasTag().


该结构体的文档由以下文件生成: