private void RecieveAudioStream(byte[] audio, int length) { LCDWriterCore.debugMonitor.RecieveAudioStream = length; recievedMessageInternal(audio, length, 1, MyAPIGateway.Multiplayer?.MyId ?? (ulong)0); if (!online) { return; } if (!isServer) { var packed = new byte[length]; Buffer.BlockCopy(audio, 0, packed, 0, length); var packet = new packetheader() { type = 1, steamid = MyAPIGateway.Multiplayer.MyId, packed = packed }; var message = MyAPIGateway.Utilities.SerializeToBinary(packet); MyAPIGateway.Multiplayer.SendMessageToServer(videostreamcommand, message); } }
private void SendMessageToOthersExcept(byte[] obj, int length, ushort type, ulong except) { //MyLog.Default.WriteLineAndConsole("SendMessageToOthersExcept"); var connectedidents = new List <IMyPlayer>(); if (MyAPIGateway.Multiplayer?.Players == null) { return; } MyAPIGateway.Multiplayer.Players.GetPlayers(connectedidents); //MyLog.Default.WriteLineAndConsole("gotplayers?"); var packed = new byte[length]; Buffer.BlockCopy(obj, 0, packed, 0, length); var header = new packetheader() { type = type, steamid = except, packed = packed }; byte[] message = MyAPIGateway.Utilities.SerializeToBinary(header); //MyLog.Default.WriteLine($"header {header.type} {header.steamid}"); foreach (IMyPlayer id in connectedidents) { if (id.SteamUserId == except) { continue; } //MyLog.Default.WriteLineAndConsole($"sendMessageTo {id.SteamUserId} {message.Length}" ); MyAPIGateway.Multiplayer.SendMessageTo(videostreamcommand, message, id.SteamUserId); } }