Problem with Exports & Events (Callback) in C# (CSharp)

Okay, BIG update, i’ve figured out how to pass data from server → client, client → server and from client → client and server → server via Events.

So basically if you want to pass from:
client → client or server → server
you need to use CallbackDelegate like so:

Resource1/Server.cs

TriggerEvent("Resource2:ServerEventToGetData", param1, new Action<dynamic>((callback) =>
{
    Debug.WriteLine("Callback: " + callback.ToString());
}));

Resource2/Server.cs

[EventHandler("Resource2:ServerEventToGetData")]
private async void ServerEventToGetDataToClient(int param1, CallbackDelegate callback)
{
   callback(ToJson(someDataThatIGotFromThisResource));
}

NOW, if you want to pass information from:
client → server or server → client
you need to use NetworkCallbackDelegate like so:

Resource1/Client.cs

TriggerServerEvent("Resource2:ServerEventToGetDataToClient", param1, new Action<dynamic>((networkCB) =>
{
    Debug.WriteLine(ToJson(networkCB));
}));

Resource2/Server.cs

[EventHandler("Resource2:ServerEventToGetDataToClient")]
private void ServerEventToGetDataToClient([FromSource] Player player, int param1, NetworkCallbackDelegate networkCB)
{
    networkCB(ToJson(someDataThatIGotFromThisResource));
}

No update on exports yet.
Hard to learn something without examples/documentation available :smiley:

1 Like