private void SendPlayerAssetsToClients(PlayerAsset[] playerAssets, INetworkInterfaceConnection[] clients) { NetMessagePlayerAssets.Data[] datas = new NetMessagePlayerAssets.Data[playerAssets.Length]; for (int i = 0; i < playerAssets.Length; i++) { datas[i] = new NetMessagePlayerAssets.Data(playerAssets[i]); } NetMessagePlayerAssets netMessage = new NetMessagePlayerAssets() { Assets = datas }; // send message foreach (var client in clients) { _session.BeginLargeDataTransfer(netMessage, client, "Doodles"); } }
protected override IEnumerator ExecuteRoutine() { // Serialize sim SimSerializationOperationWithCache serializeOp = new SimSerializationOperationWithCache(_simulationWorld); yield return(ExecuteSubOperationAndWaitForSuccess(serializeOp)); // Transfer sim NetMessageSerializedSimulation netMessage = new NetMessageSerializedSimulation() { SerializedSimulation = serializeOp.SerializationData }; var transferOp = _sessionInterface.BeginLargeDataTransfer(netMessage, _client, description: $"Simulation-{((SimulationWorld)_simulationWorld).GetLastTickIdFromEntity()}"); yield return(ExecuteSubOperationAndWaitForSuccess(transferOp)); // Terminate TerminateWithSuccess($"Simulation sent to client."); }