Beispiel #1
0
 private void UpdateInputs(TransmitterReceiverSystem TransmitterReceiverSystem)
 {
     InputAx.text = TransmitterReceiverSystem.ReceiverA.ReceiverCoordinates.x.ToString();
     InputAy.text = TransmitterReceiverSystem.ReceiverA.ReceiverCoordinates.y.ToString();
     InputBx.text = TransmitterReceiverSystem.ReceiverB.ReceiverCoordinates.x.ToString();
     InputBy.text = TransmitterReceiverSystem.ReceiverB.ReceiverCoordinates.y.ToString();
     InputCx.text = TransmitterReceiverSystem.ReceiverC.ReceiverCoordinates.x.ToString();
     InputCy.text = TransmitterReceiverSystem.ReceiverC.ReceiverCoordinates.y.ToString();
 }
Beispiel #2
0
    // Start is called before the first frame update
    void Start()
    {
        DataParser dataParser = new DataParser();

        TRSystem    = dataParser.ParseInputData(@"input.txt");
        ReceiverA   = TRSystem.ReceiverA;
        ReceiverB   = TRSystem.ReceiverB;
        ReceiverC   = TRSystem.ReceiverC;
        Transmitter = TRSystem.Transmitter;

        CreateReceivers();
        UpdateInputs(TRSystem);

        tParam           = 0f;
        coroutineAllowed = true;
    }
Beispiel #3
0
        public TransmitterReceiverSystem ParseInputData(string filePath)
        {
            if (!CheckIfFileIsValid(filePath))
            {
                return(null);
            }

            var reader = new StreamReader(filePath, Encoding.UTF8);
            var line   = reader.ReadLine();

            string[] receiverCoordinates = line.Split(',');

            Receiver a = new Receiver(float.Parse(receiverCoordinates[0], CultureInfo.InvariantCulture),
                                      float.Parse(receiverCoordinates[1], CultureInfo.InvariantCulture),
                                      new List <float>());
            Receiver b = new Receiver(float.Parse(receiverCoordinates[2], CultureInfo.InvariantCulture),
                                      float.Parse(receiverCoordinates[3], CultureInfo.InvariantCulture),
                                      new List <float>());
            Receiver c = new Receiver(float.Parse(receiverCoordinates[4], CultureInfo.InvariantCulture),
                                      float.Parse(receiverCoordinates[5], CultureInfo.InvariantCulture),
                                      new List <float>());

            line = reader.ReadLine();

            while (line != null)
            {
                string[] receivingTimeValues = line.Split(',');
                try
                {
                    a.DistanceToTransmitter.Add(float.Parse(receivingTimeValues[0], CultureInfo.InvariantCulture) * Transmitter.RadioWaveSpeed);
                    b.DistanceToTransmitter.Add(float.Parse(receivingTimeValues[1], CultureInfo.InvariantCulture) * Transmitter.RadioWaveSpeed);
                    c.DistanceToTransmitter.Add(float.Parse(receivingTimeValues[2], CultureInfo.InvariantCulture) * Transmitter.RadioWaveSpeed);
                }
                catch
                {
                    return(null);
                }
                line = reader.ReadLine();
            }
            TransmitterReceiverSystem parsedData = new TransmitterReceiverSystem(a, b, c);

            reader.Close();
            return(parsedData);
        }