This commit is contained in:
DESKTOP-5RP3AKU\Jisol
2024-01-29 02:28:42 +08:00
parent 68c4d5e811
commit 01a4312761
73 changed files with 13939 additions and 42231 deletions

View File

@@ -10,6 +10,7 @@ using Plugins.JNGame.Network.Util;
using Plugins.JNGame.System;
using Plugins.JNGame.Util;
using UnityEngine;
using Object = System.Object;
namespace Plugins.JNGame.Network
{
@@ -87,11 +88,6 @@ namespace Plugins.JNGame.Network
List<Delegate> funs = _event.EventHandlers[$"{data.HId}"];
funs.ForEach(fun =>
{
if (data.Bytes.Length <= 0)
{
((Action<IMessage>)fun)(null);
return;
}
if(fun.Method.GetParameters().Length == 1 && typeof(IMessage).IsAssignableFrom(fun.Method.GetParameters()[0].ParameterType))
{
var type = fun.Method.GetParameters()[0].ParameterType;
@@ -102,9 +98,17 @@ namespace Plugins.JNGame.Network
if (methodInfo != null)
{
var message = methodInfo.Invoke(cType.GetValue(null), new object[] { data.Bytes });
fun.Method.Invoke(fun.Target,new object[]{ message });
fun.Method.Invoke(fun.Target,new []{ message });
}
}
else
{
fun.Method.Invoke(fun.Target,new [] { (object)null });
}
}
else
{
fun.Method.Invoke(fun.Target,new object[]{ });
}
});
@@ -115,6 +119,11 @@ namespace Plugins.JNGame.Network
{
_event.AddListener($"{hId}",listener);
}
public void AddListener(int hId, global::System.Action listener)
{
_event.AddListener($"{hId}",listener);
}
//删除外部监听
public void RemoveListener<T>(int hId,Action<T> listener) where T : IMessage