mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
事件模块拓展参数支持。
事件模块拓展参数支持。
This commit is contained in:
@@ -231,5 +231,35 @@ namespace TEngine
|
||||
|
||||
CheckModify();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 回调调用。
|
||||
/// </summary>
|
||||
/// <param name="arg1">事件参数1。</param>
|
||||
/// <param name="arg2">事件参数2。</param>
|
||||
/// <param name="arg3">事件参数3。</param>
|
||||
/// <param name="arg4">事件参数4。</param>
|
||||
/// <param name="arg5">事件参数5。</param>
|
||||
/// <param name="arg6">事件参数6。</param>
|
||||
/// <typeparam name="TArg1">事件参数1类型。</typeparam>
|
||||
/// <typeparam name="TArg2">事件参数2类型。</typeparam>
|
||||
/// <typeparam name="TArg3">事件参数3类型。</typeparam>
|
||||
/// <typeparam name="TArg4">事件参数4类型。</typeparam>
|
||||
/// <typeparam name="TArg5">事件参数5类型。</typeparam>
|
||||
/// <typeparam name="TArg6">事件参数6类型。</typeparam>
|
||||
public void Callback<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
|
||||
{
|
||||
_isExecute = true;
|
||||
for (var i = 0; i < _listExist.Count; i++)
|
||||
{
|
||||
var d = _listExist[i];
|
||||
if (d is Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> action)
|
||||
{
|
||||
action(arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
}
|
||||
|
||||
CheckModify();
|
||||
}
|
||||
}
|
||||
}
|
@@ -151,6 +151,29 @@ namespace TEngine
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 发送事件。
|
||||
/// </summary>
|
||||
/// <param name="eventType">事件类型。</param>
|
||||
/// <param name="arg1">事件参数1。</param>
|
||||
/// <param name="arg2">事件参数2。</param>
|
||||
/// <param name="arg3">事件参数3。</param>
|
||||
/// <param name="arg4">事件参数4。</param>
|
||||
/// <param name="arg5">事件参数5。</param>
|
||||
/// <param name="arg6">事件参数6。</param>
|
||||
/// <typeparam name="TArg1">事件参数1类型。</typeparam>
|
||||
/// <typeparam name="TArg2">事件参数2类型。</typeparam>
|
||||
/// <typeparam name="TArg3">事件参数3类型。</typeparam>
|
||||
/// <typeparam name="TArg4">事件参数4类型。</typeparam>
|
||||
/// <typeparam name="TArg5">事件参数5类型。</typeparam>
|
||||
/// <typeparam name="TArg6">事件参数6类型。</typeparam>
|
||||
public void Send<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(int eventType, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
|
||||
{
|
||||
if (_eventTable.TryGetValue(eventType, out var d))
|
||||
{
|
||||
d.Callback(arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
@@ -94,6 +94,23 @@ namespace TEngine
|
||||
{
|
||||
return _eventMgr.Dispatcher.AddEventListener(eventType, handler);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 增加事件监听。
|
||||
/// </summary>
|
||||
/// <param name="eventType">事件类型。</param>
|
||||
/// <param name="handler">事件处理回调。</param>
|
||||
/// <typeparam name="TArg1">事件参数1类型。</typeparam>
|
||||
/// <typeparam name="TArg2">事件参数2类型。</typeparam>
|
||||
/// <typeparam name="TArg3">事件参数3类型。</typeparam>
|
||||
/// <typeparam name="TArg4">事件参数4类型。</typeparam>
|
||||
/// <typeparam name="TArg5">事件参数5类型。</typeparam>
|
||||
/// <typeparam name="TArg6">事件参数6类型。</typeparam>
|
||||
/// <returns></returns>
|
||||
public static bool AddEventListener<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(int eventType, Action<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6> handler)
|
||||
{
|
||||
return _eventMgr.Dispatcher.AddEventListener(eventType, handler);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除事件监听。
|
||||
@@ -534,6 +551,27 @@ namespace TEngine
|
||||
{
|
||||
_eventMgr.Dispatcher.Send(RuntimeId.ToRuntimeId(eventType), arg1, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="eventType">事件类型。</param>
|
||||
/// <param name="arg1">事件参数1。</param>
|
||||
/// <param name="arg2">事件参数2。</param>
|
||||
/// <param name="arg3">事件参数3。</param>
|
||||
/// <param name="arg4">事件参数4。</param>
|
||||
/// <param name="arg5">事件参数5。</param>
|
||||
/// <param name="arg6">事件参数6。</param>
|
||||
/// <typeparam name="TArg1">事件参数1类型。</typeparam>
|
||||
/// <typeparam name="TArg2">事件参数2类型。</typeparam>
|
||||
/// <typeparam name="TArg3">事件参数3类型。</typeparam>
|
||||
/// <typeparam name="TArg4">事件参数4类型。</typeparam>
|
||||
/// <typeparam name="TArg5">事件参数5类型。</typeparam>
|
||||
/// <typeparam name="TArg6">事件参数6类型。</typeparam>
|
||||
public static void Send<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(int eventType, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
|
||||
{
|
||||
_eventMgr.Dispatcher.Send(eventType, arg1, arg2, arg3, arg4, arg5, arg6);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
|
Reference in New Issue
Block a user