Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }