一个unity的轻量级事件管理器

事件系统的好处很多,最主要的还是能够最大限度的降低模块间的耦合度,这里实现一个很简单的事件管理系统,主要功能就是对事件进行分发,以达到解偶的目的。事件系统很多新手好像不太适应,但是用的多了,就会发现它的神奇之处。


直接上代码:

public class EventManager : MonoBehaviour{
    Dictionary<EventID,List<EventObserver>> observerList = new Dictionary<EventID,List<EventObserver>>();

	Queue eventQueue = new Queue(); //消息队列

	private static EventManager _instance = null;  

	public static EventManager instance()  
	{  
		return _instance;
	}  

    void Awake(){
        Debug.Log("===========启动消息系统===========");
		_instance = this;
	}

	void Update(){
		while(eventQueue.Count > 0){
			EventData eve = (EventData)eventQueue.Dequeue();
            if(!observerList.ContainsKey(eve.eid)){
				continue;
			}
            List<EventObserver> obse
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值