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