This commit is contained in:
CortexCore
2024-07-17 17:06:45 +08:00
parent e686eb89ab
commit c80a4a2245
7 changed files with 415 additions and 86 deletions

View File

@@ -480,7 +480,7 @@ namespace BITKit.Net
await BITApp.SwitchToMainThread();
if (value is Exception e)
{
throw new InGameException(e.Message,e);
throw new InGameException(e.Message);
}
if (UniTask.CompletedTask is T t)
{

View File

@@ -303,8 +303,6 @@ namespace BITKit.Net
returnWriter.Write((byte)NetCommandType.ReturnToClient);
returnWriter.Write(requestId);
try
{
if (reader.ReadBoolean())
{
var path = reader.ReadString();
@@ -321,25 +319,41 @@ namespace BITKit.Net
pars = new object[] { };
}
if (isAwaitable)
try
{
dynamic result = methodInfo.Invoke(handle, pars)!;
if (methodInfo.ReturnType == typeof(void) || methodInfo.ReturnType == typeof(UniTask))
if (isAwaitable)
{
await result;
value = -1;
dynamic result = methodInfo.Invoke(handle, pars)!;
if (methodInfo.ReturnType == typeof(void) || methodInfo.ReturnType == typeof(UniTask))
{
await result;
value = -1;
}
else
{
value = await result;
}
}
else
{
value = await result;
value = methodInfo.Invoke(handle, pars);
}
}
else
catch (Exception e)
{
value = methodInfo.Invoke(handle, pars);
}
if(e is TargetInvocationException tie)
e = tie.InnerException;
returnWriter.Write(false);
returnWriter.Write(e.Message);
var _bytes = returnMS.ToArray();
_sendQueue.Enqueue((Id,_bytes));
BIT4Log.LogException(e);
return;
}
returnWriter.Write(true);
if (value is not null)
{
@@ -373,16 +387,7 @@ namespace BITKit.Net
var _bytes = returnMS.ToArray();
_sendQueue.Enqueue((Id,_bytes));
}
}
catch (Exception e)
{
returnWriter.Write(false);
returnWriter.Write(e.Message);
var _bytes = returnMS.ToArray();
_sendQueue.Enqueue((Id,_bytes));
BIT4Log.LogException(e);
}
}
break;
case NetCommandType.ReturnToServer: