private IEnumerator OnResponse(WWW req) { yield return(req); if (req.text != "{\"error\": \"No data\"}") { airData = JsonUtility.FromJson <AirData>(req.text); AirDataToAirPoints(airData); } }
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; }
/// <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; }
public AirData(AirData Object) { Clone(Object); }
void AirDataToAirPoints(AirData airData) { airPoints = Mathf.RoundToInt(airData.no2_concentration * 1000000); gameLogic.airPoints = airPoints; responseText.text = "" + airPoints; }
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); } }