Exemple #1
0
        public void DrawRadio(RadioMessage rm)
        {
            SKPoint pos = GetSKPoint(rm.Location.XPos, rm.Location.YPos, true);

            pos.Offset(0, 30);
            _canvas.DrawText(rm.Text, pos, Paints.HealthBarFillWhite);
        }
        public void SendData(ChatEvent chat)
        {
            string chatMessage = chat.message;
            string chatSpeaker = chat.speaker;
            bool   isEncrypted;

            if (EncryptionData != null)
            {
                chatMessage = EncryptionUtils.Encrypt(chatMessage, EncryptionData.EncryptionSecret);
                chatSpeaker = EncryptionUtils.Encrypt(chatSpeaker, EncryptionData.EncryptionSecret);
                isEncrypted = true;
            }
            else
            {
                isEncrypted = false;
            }
            RadioMessage msg = new RadioMessage
            {
                Sender             = chatSpeaker,
                Message            = chatMessage,
                IsEncrypted        = isEncrypted,
                OriginalSenderName = chat.speaker
            };

            TrySendSignal(msg);
        }
Exemple #3
0
 public static void AppendLog(RadioMessage m)
 {
     using (StreamWriter outputFile = new StreamWriter(Path.Combine(Environment.CurrentDirectory, "WriteLines.txt"), true))
     {
         outputFile.WriteLine(m.RadioSerialNumber + ": " + BitConverter.ToString(m.FullPacket));
     }
 }
Exemple #4
0
    public void Init()
    {
        MissionBuilder  = GameObject.Find("Scene").GetComponent <SceneBuilder>();
        UI              = GameObject.FindGameObjectWithTag("UI").GetComponent <SpaceUI>();
        MissionRes      = GameObject.Find("Scene").GetComponent <SceneRes>();
        playership      = MissionRes.playershiptransform.gameObject.GetComponent <Ship>();
        RadioMessageObj = UI.RadioMessage;

        InvokeRepeating("Step", 0, 1f);
    }
Exemple #5
0
        public static void Deserialize(RadioMessage message, byte counterCheck)
        {
            short temperature;
            short rx;
            short tx;
            short freqErr;
            short voltage;
            short reversePower;

            double d_Temperature;
            double d_Rx;
            double d_Tx;
            double d_FreqErr;
            double d_Voltage;
            double d_ReverseTx;
            double vswr;
            byte   errors;


            try
            {
                if (counterCheck == 0x67)
                {
                    message.GetByte();
                    message.GetByte();

                    errors = message.GetByte();

                    if (errors == 0x02)
                    {
                        Console.WriteLine("Erro de cálculo de diagnóstico");
                        return;
                    }

                    temperature  = message.GetSignedInt16();
                    rx           = message.GetSignedInt16();
                    tx           = message.GetSignedInt16();
                    freqErr      = message.GetSignedInt16();
                    voltage      = message.GetSignedInt16();
                    reversePower = message.GetSignedInt16();

                    d_Temperature = ((double)temperature / 10);
                    d_Rx          = ((double)rx / 10);
                    d_Tx          = ((double)tx / 10);
                    d_FreqErr     = ((double)freqErr);
                    d_Voltage     = ((double)voltage / 10);
                    d_ReverseTx   = ((double)reversePower / 10);

                    vswr = (1 + (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000)))) / (1 - (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000))));

                    if ((d_Tx > 100 || d_Tx < 0) || (d_Rx < -150 || d_Rx > 0) || (d_Voltage < 5))
                    {
                        //WriteLog.AppendLog(message);
                        return;
                    }

                    Core.GetRadioManager().SaveMeasurement(message.RadioSerialNumber, d_Temperature, d_Voltage, d_FreqErr, d_Rx, d_Tx, vswr);
                    // Adicionado pela Laila
                    if (Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).CommStatus == 0)
                    {
                        Core.GetRadioManager().SetCommStatus(message.RadioSerialNumber, 1);
                        Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).CommStatus = 1;
                    }
                    DateTime timestamp = DateTime.Now;
                    Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).TimeStamp = timestamp;
                }

                else if (counterCheck == 0x72)
                {
                    byte counter = message.GetByte();
                    message.GetSignedInt16();
                    errors = message.GetByte();

                    if (errors == 0x02)
                    {
                        Console.WriteLine("Erro de cálculo de diagnóstico");
                        return;
                    }

                    temperature  = message.GetSignedInt16();
                    rx           = message.GetSignedInt16();
                    tx           = message.GetSignedInt16();
                    freqErr      = message.GetSignedInt16();
                    voltage      = message.GetSignedInt16();
                    reversePower = message.GetSignedInt16();

                    d_Temperature = ((double)temperature / 10);
                    d_Rx          = ((double)rx / 10);
                    d_Tx          = ((double)tx / 10);
                    d_FreqErr     = ((double)freqErr);
                    d_Voltage     = ((double)voltage / 10);
                    d_ReverseTx   = ((double)reversePower / 10);

                    vswr = (1 + (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000)))) / (1 - (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000))));

                    if ((d_Tx > 100 || d_Tx < 0) || (d_Rx < -150 || d_Rx > 0) || (d_Voltage < 5))
                    {
                        //WriteLog.AppendLog(message);
                        return;
                    }

                    Core.GetRadioManager().SaveMeasurement(message.RadioSerialNumber, d_Temperature, d_Voltage, d_FreqErr, d_Rx, d_Tx, vswr);
                    // Adicionado pela Laila
                    if (Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).CommStatus == 0)
                    {
                        Core.GetRadioManager().SetCommStatus(message.RadioSerialNumber, 1);
                        Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).CommStatus = 1;
                    }
                    DateTime timestamp = DateTime.Now;
                    Core.GetRadioManager().GetRadioFromSN(message.RadioSerialNumber).TimeStamp = timestamp;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(message.RadioSerialNumber + ": " + ex.ToString());
            }
        }
Exemple #6
0
 public void TransmitMessage(RadioMessage message, IDictionary info)
 {
 }
Exemple #7
0
 public void TransmitMessage(RadioMessage message)
 {
 }
Exemple #8
0
        public static void Deserialize(RadioMessage message, byte counterCheck)
        {
            short temperature;
            short rx;
            short tx;
            short freqErr;
            short voltage;
            short reversePower;

            double d_Temperature;
            double d_Rx;
            double d_Tx;
            double d_FreqErr;
            double d_Voltage;
            double d_ReverseTx;
            double vswr;
            byte   errors;


            if (counterCheck == 0x67)
            {
                message.GetByte();
                message.GetByte();

                errors = message.GetByte();

                if (errors == 0x02)
                {
                    Console.WriteLine("Erro de cálculo de diagnóstico");
                    return;
                }

                temperature  = message.GetSignedInt16();
                rx           = message.GetSignedInt16();
                tx           = message.GetSignedInt16();
                freqErr      = message.GetSignedInt16();
                voltage      = message.GetSignedInt16();
                reversePower = message.GetSignedInt16();

                d_Temperature = ((double)temperature / 10);
                d_Rx          = ((double)rx / 10);
                d_Tx          = ((double)tx / 10);
                d_FreqErr     = ((double)freqErr);
                d_Voltage     = ((double)voltage / 10);
                d_ReverseTx   = ((double)reversePower / 10);

                vswr = (1 + (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000)))) / (1 - (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000))));

                Core.GetRadioManager().SaveMeasurement(message.RadioSerialNumber, d_Temperature, d_Voltage, d_FreqErr, d_Rx, d_Tx, vswr);
            }

            else if (counterCheck == 0x72)
            {
                byte counter = message.GetByte();
                message.GetSignedInt16();
                errors = message.GetByte();

                if (errors == 0x02)
                {
                    Console.WriteLine("Erro de cálculo de diagnóstico");
                    return;
                }

                temperature  = message.GetSignedInt16();
                rx           = message.GetSignedInt16();
                tx           = message.GetSignedInt16();
                freqErr      = message.GetSignedInt16();
                voltage      = message.GetSignedInt16();
                reversePower = message.GetSignedInt16();

                d_Temperature = ((double)temperature / 10);
                d_Rx          = ((double)rx / 10);
                d_Tx          = ((double)tx / 10);
                d_FreqErr     = ((double)freqErr);
                d_Voltage     = ((double)voltage / 10);
                d_ReverseTx   = ((double)reversePower / 10);

                vswr = (1 + (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000)))) / (1 - (Math.Sqrt((Math.Pow(10, (d_ReverseTx / 10)) / 1000) / (Math.Pow(10, (d_Tx / 10)) / 1000))));

                Core.GetRadioManager().SaveMeasurement(message.RadioSerialNumber, d_Temperature, d_Voltage, d_FreqErr, d_Rx, d_Tx, vswr);
            }
        }
    void OnRadioMessage(RadioMessage message)
    {
        switch (message.MessageType)
        {
            case RadioMessageType.Greeting:
                // var recipient = (Ship.Target && Ship.Target == message.SourceShip.Targetable) ?
                //     Ship.Target.name : name;
                break;

            case RadioMessageType.AcknowledgeOrder:
                if (message.SourceShip != this)
                {
                    string msg = "OK, Boss.";

                    GUIController.Current.BroadcastMessage("OnPlayerNotification",
                        message.SourceShip.name + "> " + msg,
                        SendMessageOptions.DontRequireReceiver);

                    GUIController.Current.BroadcastMessage("OnRadioSpeech",
                        new PlayerRadioMessage()
                        {
                            Message = msg,
                            Source = message.SourceShip
                        },
                        SendMessageOptions.DontRequireReceiver);
                }

                break;
        }
    }