Rework on SendNativeCall
This commit is contained in:
@ -11,6 +11,7 @@ namespace RageCoop.Server.Scripting
|
||||
{
|
||||
public override void OnStart()
|
||||
{
|
||||
API.RegisterCustomEventHandler(CustomEvents.NativeResponse, NativeResponse);
|
||||
}
|
||||
public override void OnStop()
|
||||
{
|
||||
@ -19,5 +20,26 @@ namespace RageCoop.Server.Scripting
|
||||
{
|
||||
c.SendCustomEvent(CustomEvents.SetAutoRespawn, new() { toggle });
|
||||
}
|
||||
void NativeResponse(CustomEventReceivedArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
int id = (int)e.Args[0];
|
||||
Action<object> callback;
|
||||
lock (e.Sender.Callbacks)
|
||||
{
|
||||
if (e.Sender.Callbacks.TryGetValue(id, out callback))
|
||||
{
|
||||
callback(e.Args[1]);
|
||||
e.Sender.Callbacks.Remove(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
API.GetLogger().Error("Failed to parse NativeResponse");
|
||||
API.GetLogger().Error(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user