diff --git a/Src/Core/Kcp/KcpNetClient.cs b/Src/Core/Kcp/KcpNetClient.cs index 62e38a4..c7a0c83 100644 --- a/Src/Core/Kcp/KcpNetClient.cs +++ b/Src/Core/Kcp/KcpNetClient.cs @@ -421,10 +421,17 @@ namespace BITKit.Net var fieldInfo = handle.GetType().GetField(eventInfo.Name,ReflectionHelper.Flags)!; var eventDelegate = fieldInfo.GetValue(handle) as MulticastDelegate; - - foreach (var del in eventDelegate!.GetInvocationList()) + + if (eventDelegate is null) { - del.Method.Invoke(del.Target, pars); + BIT4Log.Warning($"未找到对应的事件:{rpcName}"); + } + else + { + foreach (var del in eventDelegate.GetInvocationList()) + { + del.Method.Invoke(del.Target, pars); + } } } else diff --git a/Src/Unity/Scripts/UX/Utils/UXUtils.cs b/Src/Unity/Scripts/UX/Utils/UXUtils.cs index 83681fd..4ef5358 100644 --- a/Src/Unity/Scripts/UX/Utils/UXUtils.cs +++ b/Src/Unity/Scripts/UX/Utils/UXUtils.cs @@ -67,7 +67,14 @@ namespace BITKit.UX } else { - fieldInfo.SetValue(self, ve); + try + { + fieldInfo.SetValue(self, ve); + } + catch (Exception e) + { + BIT4Log.Warning(field!.Name); + } } } diff --git a/Src/Unity/UX/EditorExapmles.uxml b/Src/Unity/UX/EditorExapmles.uxml index 6eb4f8d..5edb6df 100644 --- a/Src/Unity/UX/EditorExapmles.uxml +++ b/Src/Unity/UX/EditorExapmles.uxml @@ -1,5 +1,6 @@