coreclr-module
coreclr-module copied to clipboard
[C# client] `ScriptRPCEvent.WillAnswer` does not work
I'm using WillAnswer
in my client RPC event handler but the server somehow gets Answer not handled
error.
Alt.OnScriptRPC += async (scriptRpcEvent, name, args, answerId) => {
scriptRpcEvent.WillAnswer();
await Task.Delay(1);
await AltAsync.Do(() => {
scriptRpcEvent.Answer("OK");
});
};
You have to call WillAnswer before it spawns a task. So start the task inside none async handler.
If this is correct according to what you said, unfortunately it's still giving Answer not handled
error.
Alt.OnScriptRPC += (scriptRpcEvent, name, args, answerId) => {
scriptRpcEvent.WillAnswer();
Task.Delay(1).ContinueWith(t => {
AltAsync.Do(() => {
scriptRpcEvent.Answer("OK");
});
});
};
The scriptRpcEvent is gone before it enters the task. So you can't use it like this.
Can I use Alt.EmitRPCAnswer
with answerId
instead? I actually use Alt.EmitRPCAnswer
instead of scriptRpcEvent
in my code, but I don't write it in the reproduction code. Sorry for that.