using GFramework.Core.Abstractions.events;
namespace GFramework.Core.events;
///
/// 简单事件类,用于注册、注销和触发无参事件回调
///
public class EasyEvent
{
private Action _mOnEvent = () => { };
///
/// 注册事件回调函数
///
/// 要注册的事件回调函数
/// 用于注销事件的 unregister 对象
public IUnRegister Register(Action onEvent)
{
_mOnEvent += onEvent;
return new DefaultUnRegister(() => { UnRegister(onEvent); });
}
///
/// 注销已注册的事件回调函数
///
/// 要注销的事件回调函数
public void UnRegister(Action onEvent)
{
_mOnEvent -= onEvent;
}
///
/// 触发所有已注册的事件回调函数
///
public void Trigger()
{
_mOnEvent?.Invoke();
}
}