Exemplo n.º 1
0
    private IEnumerator OnResponse(WWW req)
    {
        yield return(req);

        if (req.text != "{\"error\": \"No data\"}")
        {
            airData = JsonUtility.FromJson <AirData>(req.text);
            AirDataToAirPoints(airData);
        }
    }
Exemplo n.º 2
0
            public void Clone(AirData Object)
            {
                TimeStamp       = Object.TimeStamp;
                Title           = Object.Title;
                Model           = Object.Model;
                Type            = Object.Type;
                Category        = Object.Category;
                Altitude        = Object.Altitude;
                AltitudeSol     = Object.AltitudeSol;
                Heading         = Object.Heading;
                Longitude       = Object.Longitude;
                Latitude        = Object.Latitude;
                IASSpeed        = Object.IASSpeed;
                Pitch           = Object.Pitch;
                Bank            = Object.Bank;
                Squawk          = Object.Squawk;
                ElevatorPos     = Object.ElevatorPos;
                AileronPos      = Object.AileronPos;
                RudderPos       = Object.RudderPos;
                SpoilerPos      = Object.SpoilerPos;
                ParkingBrakePos = Object.ParkingBrakePos;
                Door1Pos        = Object.Door1Pos;
                Door2Pos        = Object.Door2Pos;
                Door3Pos        = Object.Door3Pos;
                Door4Pos        = Object.Door4Pos;
                FlapsIndex      = Object.FlapsIndex;
                NumEngine       = Object.NumEngine;
                ThrottleEng1    = Object.ThrottleEng1;
                ThrottleEng2    = Object.ThrottleEng2;
                ThrottleEng3    = Object.ThrottleEng3;
                ThrottleEng4    = Object.ThrottleEng4;

                //Etat
                OnGround     = Object.OnGround;
                GearPos      = Object.GearPos;
                LandingLight = Object.LandingLight;
                BeaconLight  = Object.BeaconLight;
                StrobeLight  = Object.StrobeLight;
                NavLight     = Object.NavLight;
                RecoLight    = Object.RecoLight;
                StateEng1    = Object.StateEng1;
                StateEng2    = Object.StateEng2;
                StateEng3    = Object.StateEng3;
                StateEng4    = Object.StateEng4;
                Smoke        = Object.Smoke;
            }
Exemplo n.º 3
0
 /// <summary>
 /// Constructeur d'un PEER P2P
 /// </summary>
 /// <param name="pServer"></param>
 public Peer(ref UDPServer pServer, IPAddress pExternalIP, int pPort, string CallSign, bool pDisabled = false, bool pLocal = false, List <IPAddress> pInternalIP = null)
 {
     m_CallSign   = CallSign;
     P2P          = P2PManager.Instance;
     m_AIMapping  = AIMapping.Instance;
     Server       = pServer;
     m_Data       = new AirData();
     m_OldData    = new AirData();
     m_SendData   = new AirData();
     m_FuturData  = new AirData();
     m_ActualPos  = new AirData();
     m_AIData     = new AIMoveStruct();
     m_ExternalIP = pExternalIP;
     m_InternalIP = pInternalIP;
     m_Port       = pPort;
     Log          = Logger.Instance;
     m_bLocal     = pLocal;
     if (!m_bLocal)
     {
         m_EP = new IPEndPoint(m_ExternalIP, m_Port);
     }
     else
     {
         m_EP = null;
     }
     m_SC             = SCManager.Instance;
     m_Analyseur      = AnalyseurManager.Instance;
     m_PM             = PirepManager.Instance;
     m_FrameRateArray = new List <double>();
     m_bDisabled      = true;
     m_Mutex          = new Mutex();
     m_sel_iplocal    = 0;
     m_TrySimpleAI    = false;
     Disabled         = pDisabled;
     Visible          = false;
     m_bSpawnable     = false;
     m_bBlockData     = false;
 }
Exemplo n.º 4
0
 public AirData(AirData Object)
 {
     Clone(Object);
 }
Exemplo n.º 5
0
 void AirDataToAirPoints(AirData airData)
 {
     airPoints           = Mathf.RoundToInt(airData.no2_concentration * 1000000);
     gameLogic.airPoints = airPoints;
     responseText.text   = "" + airPoints;
 }
Exemplo n.º 6
0
        private void AirObservations(string json)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            // obs[0][0] = time (seconds)
            // obs[0][1] = station pressure (MB)
            // obs[0][2] = air temp (c)
            // obs[0][3] = humidity (%)

            // obs[0][4] = lightning count
            // obs[0][5] = avg lightning dist (km)
            // obs[0][6] = battery
            // obs[0][7] = interval (minutes)
            try {
                double elevation = 0;

                AirObj       = serializer.Deserialize <AirData>(json);
                AirObj.valid = true;

                // Look up elevation
                StationInfo si = wf_station.FindStationAir(AirObj.serial_number);
                if (si != null)
                {
                    elevation = si.elevation;
                }

                // Do we just want to raise an event with the data object?
                AirEventArgs evnt = new AirEventArgs(AirObj);
                evnt.SetDewpoint     = 0;
                evnt.SetApparentTemp = 0;
                evnt.SetTrend        = 1;
                evnt.SetSeaLevel     = SeaLevelPressure(AirObj.obs[0][(int)AirIndex.PRESSURE].GetValueOrDefault(), elevation);
                evnt.Raw             = json;
                if (SkyObj.valid)
                {
                    try {
                        evnt.SetDewpoint     = CalcDewPoint();
                        evnt.SetApparentTemp = FeelsLike(AirObj.obs[0][(int)AirIndex.TEMPURATURE].GetValueOrDefault(),
                                                         AirObj.obs[0][(int)AirIndex.HUMIDITY].GetValueOrDefault(),
                                                         SkyObj.obs[0][(int)SkyIndex.WIND_SPEED].GetValueOrDefault());
                        // Trend is -1, 0, 1 while event wants 0, 1, 2
                        evnt.SetTrend = PressureTrend() + 1;
                        // Heat index & Windchill ??
                    } catch {
                    }
                }
                else
                {
                }

                try {
                    WeatherFlowNS.NS.RaiseAirEvent(this, evnt);
                } catch (Exception ex) {
                    WFLogging.Warning("Failed to process Air event. " + ex.Message);
                }
                WeatherFlowNS.NS.RaiseUpdateEvent(this, new UpdateEventArgs((int)AirObj.obs[0][0].GetValueOrDefault(), AirObj.serial_number, DataType.AIR));
            } catch (Exception ex) {
                WFLogging.Error("Deserialization failed for air data: " + ex.Message);
                WFLogging.Verbose(json);
            }
        }