siki学习之观察者模式笔记

人物属性:
1、 创建一个存储角色信息(攻击、防御之类)的类(一般在服务器).
2、UI角色面板创建 “角色状态类“ 读取角色信息,赋值UI属性面板
3、使用观察者模式,每当属性修改的时候发送事件更新面板属性信息

知识点(游戏角色更新的处理方式):
观察者模式(个人理解):
发送消息:属性发生改变的时候(角色信息的类)
接收者:角色状态类的更新属性的方法;

通过委托(Unity:事件)的方式,在角色属性发生改变的时候(装备更换,BUF的增益)等,发送通知

格式:

定义、创建:
在角色信息类定义事件

void:事件方法的返回值
//myevent: 委托的定义(类似类的定义)
public delegate void myevent(“参数(可不带)”)

//myevent 是我们上面申明的委托 ,通过这个委托定义一个事件 事件的方法名是Myevent
public event myevent Myevent;
Myevent是一个方法。委托定义的时候,如果有带参数的话,那么调用这个事件的时候,也要带一个参数

接收:
命名空间下所有的类都可以加入监听,可加入N个监听者
1、需要加入监听的类,Awake里面调用定义事件类里面的 myevent 事件
例: a.instance.myevent +=(类里面的方法名).
这样这个方法就加入了委托了,如果带有参数的话,那么发起消息的时候传的参数也将会传入进来,必须和最
初事件定义的时候定义同样类型的参数,来接收这个参数。

事件的注销:
在加入监听的类里面,OnDestroy()里面 -=事件,即可注销事件。

猜你喜欢

转载自www.cnblogs.com/leixuan111/p/10447359.html