unity之通知中心

本文探讨了在Unity中如何利用观察者模式和C#的委托事件机制实现类间的通信,以解决大量使用GetComponent函数带来的性能和维护问题。作者提出了一种通过创建通知中心来封装委托的方法,尽管存在参数限制和性能损耗,但适用于一些Unity项目的模块间通信。文章还提及了使用回调处理模块内部通信的策略,并预告了后续关于回调的讨论。
摘要由CSDN通过智能技术生成

周六周日给自己放两天假,算法停两天~但是懒不能偷的,今天谈谈通知。

众所周知,unity中的代码是类似脚本语言的存在,那么问题来了,类与类之间是如何通信的。

第一时间想到的GetComponent函数,但这个方法我们并不知道是如何实现的,从网上得到的资料貌似这个方法性能不是很好,而且如果工程大了,里面的脚本数量上升到一定程度时,想想满天飞的GetComponent都头疼,维护起来肯定好不到哪去。这时候我们想到了观察者模式,再配合C#的委托事件机制,貌似可以解决这个问题,同样我希望把他们封装起来而不是散布在各个脚本中,所以根据通知模式有了一些通知中心。

我的想法是把委托封装出来存在字典中,废话不多说,直接上代码。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
/// <summary>
/// 通知中心,继承MonoBehavior的单例,用来处理各模块之间的消息传递
/// 本质其实就是观察者模式,可以参照java用接口观察者模式
///
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值