71 lines
1.8 KiB
C#
71 lines
1.8 KiB
C#
|
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();
|
|||
|
}
|
|||
|
}
|