
Config:静态数据
- buffID(buff的唯一标识<身份证>,用于区分不同buff)
- duration(buff的基础持续时间)
- priority(buff的优先级。用于决定逻辑处理顺序(如先免伤后扣血)或同类Buff的顶替规则。)
- controlMark(控制标志,用于实现控制类debuff,如眩晕、沉默等,需在角色行为中读取该标志进行特殊处理)
- maxStack(可叠层buff的最大层数)
- fx(buff特效)
- UI配置数据(状态栏中显示buffUI)
RuntimeData:动态数据
- source(buff的来源)
- target(buff的作用目标)
- parameters(IEffect效果所需使用的角色属性数据,如攻击力、防御力等,用于数值计算)
- timer(计时器,计算buff的剩余时间,用于Tick和Remove)
- duration(可动态修改的buff持续时间)
- currentStack(可叠层buff的当前层数)
Execute:逻辑处理
- Add(buff被添加时执行IEffect,需根据叠加方式特殊处理)
- Tick(每一定间隔执行IEffect)
- Remove(buff被移除时执行IEffect,需根据移除方式特殊处理)
- Hit(攻击时执行IEffect)
- Hurt(受击时执行IEffect)
IEffect:效果
基于策略模式定义统一调用接口,具体实现不同效果,如伤害,治疗,数值变化等
评论(0)
暂无评论