Unity实战篇:Buff系统设计(一:大体思路和思维导图)

在网上看了不少Buff系统的设计,总是不如我的意,所以索性自己思考着做了一个,欢迎大家提意见。

思想:

  1. 能够被加上Buff的游戏物体,说明他在游戏中的地位已经相当重要,所以我们值得让他继承Mono
  2. 相对于集中管理的BuffManager,我倾向于每个游戏物体都是自己Buff的管理者,当自己被加上Buff的时候,自己要做出相应的反应
  3. Buff有两个最基本的共同点 1.持续时间    2.Buff的种类

思维导图

Unity实战篇:Buff系统设计(一:大体思路和思维导图)_第1张图片

总结

所有能够被施加Buff的游戏物体都继承一个基类CostumEntityLogic(CostumEntityLogic继承自MonoBehaviour)

它包含以下内容

  1. 持有一个List ,里面包含自身的所有Buff,并且在Update进行轮询来达成对Buff状态更新的目的
  2. 包含所有的当物体被施加Buff时所需要做出的反映函数和Buff开关(bool类型)(视情况可以将CostumEntityLogic分为好几个类,例如PlayerLogic,MonsterLogic等)
  3. AddBuff函数,List添加Buff,具体的Buff执行逻辑
  4. 在Update中对List进行轮询,保证Buff状态的更新
  5. RemoveBuff函数,List移除Buff,具体的Buff执行逻辑

下篇博客将会给出具体的代码和实战中的使用

 

 

你可能感兴趣的:(Unity相关,GameFramework,Unity实战汇总)