mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
事件模块拓展参数支持。
事件模块拓展参数支持。
This commit is contained in:
@@ -231,5 +231,35 @@ namespace TEngine
|
|||||||
|
|
||||||
CheckModify();
|
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
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -95,6 +95,23 @@ namespace TEngine
|
|||||||
return _eventMgr.Dispatcher.AddEventListener(eventType, handler);
|
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>
|
/// <summary>
|
||||||
/// 移除事件监听。
|
/// 移除事件监听。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -535,6 +552,27 @@ namespace TEngine
|
|||||||
_eventMgr.Dispatcher.Send(RuntimeId.ToRuntimeId(eventType), arg1, arg2, arg3, arg4, arg5);
|
_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>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Reference in New Issue
Block a user