71 lines
1.8 KiB
C#
Raw Normal View History

2025-04-18 22:01:12 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Windows;
/// <summary>
/// <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
/// 1.<2E>ֵ<EFBFBD> 2.ί<><CEAF> 3.<2E>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
/// </summary>
public class EventCenter : BaseManager<EventCenter>
{
//key ---<2D>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><E7A3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> <20>ȵȣ<C8B5>
//value --- <20><>Ӧ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD> <20><>Ӧ<EFBFBD><D3A6>ί<EFBFBD>к<EFBFBD><D0BA><EFBFBD>
private Dictionary<string , UnityAction<object>> eventDic = new Dictionary<string , UnityAction<object>>();
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="name"><3E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="action">׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ί<EFBFBD>к<EFBFBD><D0BA><EFBFBD></param>
public void AddEventListener(string name,UnityAction<object> action)
{
//<2F><>û<EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
//<2F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
if(eventDic.ContainsKey(name))
{
eventDic[name] += action;//<2F>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//û<>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
else
{
eventDic.Add(name, action);//û<>оͼ<D0BE>һ<EFBFBD><D2BB>
}
}
/// <summary>
/// <20><>ȥ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
/// <20>¼<EFBFBD><C2BC>мӾ<D0BC><D3BE>м<EFBFBD>
/// </summary>
/// <param name="name"></param>
/// <param name="action"></param>
public void RemoveEventListener(string name, UnityAction<object> action)
{
if(eventDic.ContainsKey(name))
{
eventDic[name] -= action;
}
}
/// <summary>
/// <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="name"><3E><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
public void EvennTrigger(string name,object info)
{
if(eventDic.ContainsKey(name))
{
eventDic[name].Invoke(info);//<2F>оʹ<D0BE><CDB4><EFBFBD><EFBFBD>¼<EFBFBD>
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>л<EFBFBD>ʱ
/// </summary>
public void Clear()
{
eventDic.Clear();
}
}