68 lines
1.6 KiB
C#
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;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|