0.前言
本篇将实现一个简单的事件管理器(虽然简单,但是绝对好用!)和喂食互动。
1.事件管理器
先说说,为什么会有这么一个事件触发器。
Unity3d中,MonoBehaviour提供了SendMessage和SendMessageUpwards来在MonoBehaviour之间传递消息。而在非MonoBehaviour(一般的类)之间传递消息,需要先得到引用,再进行函数的调用。SendMessage和SendMessageUpwards方法,使用了反射的方式来找接收的函数,不仅效率慢,消息传来传去,也容易变得混乱。
而一般的类之间,由于需要先获得引用才能调用函数,使得代码的耦合性较高。
因此,为了提高效率和解耦合,添加一个事件管理器。
1.添加EventMgr
在scripts中添加EventMgr.cs
打开EventMgr.cs,删除MonoBehaviour相关的东西,只留如下内容:
using System.Collections;
using System.Collections.Generic;
public class EventMgr
{
}