IndieGame/client/Assets/Ether/Scripts/Common/ActionEvent/ActionEvent.cs
DOBEST\zhaoyingjie f242607587 初始化工程
2024-10-11 10:12:15 +08:00

68 lines
1.6 KiB
C#

/********************************************************************
文件: ActionEvent.cs
作者: 梦语
邮箱: 1982614048@qq.com
创建时间: 2024/03/29 17:28:19
最后修改: 梦语
最后修改时间: 2024/04/03 16:06:42
功能: 自定义的事件处理类
*********************************************************************/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
namespace Ether
{
public class ActionEvent : UnityEvent
{
private int count = 0;
public int Count { get => count; }
public object EventData { get; private set; }
public new void AddListener(UnityAction call)
{
base.AddListener(call);
count++;
}
public new void RemoveListener(UnityAction call)
{
base.RemoveListener(call);
count--;
}
public new void RemoveAllListeners()
{
base.RemoveAllListeners();
count = 0;
}
}
public class ActionEvent<T> : UnityEvent<T>
{
private int count = 0;
public int Count { get => count; }
public object EventData { get; private set; }
public new void AddListener(UnityAction<T> call)
{
base.AddListener(call);
count++;
}
public new void RemoveListener(UnityAction<T> call)
{
base.RemoveListener(call);
count--;
}
public new void RemoveAllListeners()
{
base.RemoveAllListeners();
count = 0;
}
}
}