BEffect.lua 955 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. BEffect = Buff:New()
  2. --初始化Buff,通过传入一些自定义参数控制成长相关的数值
  3. function BEffect:SetData(...)
  4. self.bEffectType,
  5. self.startFunc,
  6. self.endFunc = ...
  7. self.cover = true
  8. -- 刷新排序等级
  9. self.sort = 4
  10. end
  11. --初始化后调用一次
  12. function BEffect:OnStart()
  13. if self.startFunc then
  14. self.startFunc()
  15. self.startFunc = nil
  16. end
  17. end
  18. --间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd
  19. function BEffect:OnTrigger()
  20. return true
  21. end
  22. --效果结束时调用一次
  23. function BEffect:OnEnd()
  24. if self.endFunc then
  25. self.endFunc()
  26. self.endFunc = nil
  27. end
  28. end
  29. --只有当cover字段为true时触发,返回true则被新效果覆盖
  30. function BEffect:OnCover(newBuff)
  31. return true
  32. end
  33. -- 比较buff
  34. function BEffect:OnCompare(buff)
  35. return true
  36. end
  37. return BEffect