博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
siki学习之观察者模式笔记
阅读量:5736 次
发布时间:2019-06-18

本文共 740 字,大约阅读时间需要 2 分钟。

人物属性:

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()里面 -=事件,即可注销事件。

转载于:https://www.cnblogs.com/leixuan111/p/10447359.html

你可能感兴趣的文章
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
灾难拯救——让软件项目重回轨道
查看>>
mysql中主外键关系
查看>>
第七章:数据字典
查看>>
python 字符串 类型互相转换 str bytes 字符串连接
查看>>
linux时间
查看>>
Spring+Mybatis项目中通过继承AbstractRoutingDataSource实现数据库热切换
查看>>
我的友情链接
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
微信小程序注册流程
查看>>
LR录制脚本时IE打不开的原因
查看>>
类的基础
查看>>
微博自动化测试
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
js scroll事件
查看>>
最长递增子序列 动态规划
查看>>
使用列表
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>