Wiki
300 words
2 minutes
Aura Home
Aura Home
这里收拢 Aura 项目里和 GAS 直接相关的实现笔记,重点是伤害链路、上下文扩展和项目级标签设计。
伤害链路
上下文与序列化
项目笔记
声明静态单例类
struct AuraDamageStatics{ AuraDamageStatics() { }};
// 创建一个 没有动态内存分配和指针等特性的 单一实例// 当在一个静态函数内部创建一个静态变量时,每次调用这个函数,都会得到那个相同的对象,函数结束,这个地址并不会消失static const AuraDamageStatics& DamageStatics(){ static AuraDamageStatics DStatics; return DStatics;}声明宏
#define DEFINE_ATTRIBUTE_CAPTUREDEF(S, P, T, B) \{ \ P##Property = FindFieldChecked<FProperty>(S::StaticClass(), GET_MEMBER_NAME_CHECKED(S, P)); \ P##Def = FGameplayEffectAttributeCaptureDefinition(P##Property, EGameplayEffectAttributeCaptureSource::T, B); \}使用传入的字符,使用 固定的模板替换相关的 关键词 创建声明
RPG角色类别设计
- Warrior 战士
- Ranger 远程
- 元素法师