using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//在这里添加委托名
enum EventEnum
{
changedHP,
changedMP,
levelUp,
}
class MyEventSystem
{
private static Dictionary<EventEnum, Action<object>> eventDic
= new Dictionary<EventEnum, Action<object>>();
//添加委托
public static void AddListener(EventEnum eventEnum, Action<object> action)
{
if (eventDic.ContainsKey(eventEnum))
{
eventDic[eventEnum] += action;
}
else
{
eventDic.Add(eventEnum, action);
}
}
//删除委托
public static void RemoveListener(EventEnum eventEnum, Action<object> action)
{
if (eventDic.ContainsKey(eventEnum))
{
eventDic[eventEnum] -= action;
}
}
//执行委托
public static void Dispatch(EventEnum eventEnum, object obj = null)
{
if (eventDic.ContainsKey(eventEnum))
{
eventDic[eventEnum](obj);
}
}
}
委托系统框架
最新推荐文章于 2024-07-17 21:12:24 发布