Unity下落式音游实现——(3)实现观察者模式

Unity下落式音游实现——(3)实现观察者模式

前言

本来这一部分是计划放在后面的,但在整理鼓盘敲击判定时优化了原来的部分代码(删掉了一个不必要地函数),顺理成章地出了bug。最后发现是这个函数原会在另一个脚本中用unity自带地消息系统传递(SendMessage),麻烦在于SendMessage传递函数名参数用的是字符串,所以当我回滚代码,查找那个函数的引用时什么也没找到,很麻烦。于是就先将观察者模式提前…

前期准备

观察者模式

监听者被监听者两类对象,当某事件出现时,被监听者会对所有监听者进行广播一段信息,当监听者收到信息,发现这信息是自己感兴趣的内容则执行某些操作,若不是则忽略该信息。我们需要实现一个Messenger对象中心,给监听者提供接口函数AddListener以监听某段信息,给被监听者提供Boradcast以广播某段信息。信息以字符串形式传递,在广播时可以传递参数(意味着我们需要使用模板)

C#委托和事件

类似C++中函数对象,能实现一对多调用函数。监听者使用AddListener在Messenger中注册对应委托事件,被监听者使用Boradcast在Messenger中调用对应委托事件

实现过程

原理


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值