boxmoe_header_banner_img

菜就多练喵

文章导读

[C#][Untiy][Ib_Core]Ib_Buff——Buff系统设计


avatar
Ib_Mccf 2026年3月4日 20

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)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码