有意思 好像把事件广播系统和单例模式结合;
观察者观察小丑的动作,并且记录下来他的每一个动作;
小丑 -> 一个单例,里面有一个动作改变委托; 观察者 -> 把自己的 “记录函数” 绑定到小丑单例上的动作改变委托上,这样在小丑动作改变触发的时候,就会使观察者的 ”记录函数“ 执行
达到效果 —— 一个变化,观察者自发进行改变; (所以观察者知道自己观察的对象是谁, 但是不直接调用观察者的方法,相当于解耦了观察者和观察对象)
可以用于 UI 更新,成就系统等
UI更新
如果 player 血量减少 (观察对象) 那么 UI 就更新(观察者)
成就系统
如果玩家达到了成就的解锁条件(观察对象) 那么成就系统就更新