/// <summary> /// Load or return the singleton instance of the SkyData class /// </summary> /// <returns></returns> static SkyData LoadSky() { if (skyData == null) { if (SkyBoxBrowseServiceAddress == null || SkyBoxPlayServiceAddress == null) { logger.Fatal("Sky services not initialized"); } skyData = new SkyData(); } return(skyData); }
public byte[] GetDefaultAssetData(int type) { OSD osddata; switch (type) { case 0: SkyData sky = new SkyData(); sky.Name = "DefaultSky"; osddata = sky.ToOSD(); break; case 1: WaterData water = new WaterData(); water.Name = "DefaultWater"; osddata = water.ToOSD(); break; case 2: DayCycle day = new DayCycle(); day.Name = "New Daycycle"; DayCycle.TrackEntry te = new DayCycle.TrackEntry(); WaterData dwater = new WaterData(); dwater.Name = "DefaultWater"; day.waterframes["DefaultWater"] = dwater; te.time = 0; te.frameName = "DefaultWater"; day.waterTrack.Add(te); SkyData dsky = new SkyData(); dsky.Name = "DefaultSky"; day.skyframes["DefaultSky"] = dsky; te.time = 0; te.frameName = "DefaultSky"; day.skyTrack0.Add(te); osddata = day.ToOSD(); break; default: return(null); } return(OSDParser.SerializeLLSDNotationToBytes(osddata, true)); }
public void FromOSD(OSDArray osd) { OSDArray array = osd as OSDArray; OSDArray settingsArray = array[1] as OSDArray; OSDMap windlightSettingsArray = array[2] as OSDMap; foreach (OSD setting in settingsArray) { OSDArray innerSetting = setting as OSDArray; string key = innerSetting[0]; string name = innerSetting[1]; OSDMap settings = windlightSettingsArray[name] as OSDMap; SkyData skySettings = new SkyData(); skySettings.FromOSD(name, settings); DataSettings[key] = skySettings; } if (DataSettings.Count == 1 && DataSettings.ContainsKey("-1")) IsStaticDayCycle = true; }
protected void Application_Start() { logger.Info("Avid 4 Started"); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); JRMC.LoadAndIndexAllAlbums(new string[] { "1", "2" }, DateTime.Now.Hour < 5); // Reload album data from JRMC when restarting between midnight and five (i.e. in the overnight restart) DesktopClient.Initialize(); Receiver.Initialize(); Running.Initialize(); Spotify.Initialize(); DvbViewer.Initialize(); Security.Initialize(); #if USE_SKY_STB SkyData.Initialize(Config.SkyFavourites, Config.SkyRadio, Config.SkyPackages, Config.SkyCapacityGB); var sky = SkyData.Sky; #endif }
public void FromOSD(OSDArray osd) { OSDArray array = osd as OSDArray; OSDArray settingsArray = array[1] as OSDArray; OSDMap windlightSettingsArray = array[2] as OSDMap; foreach (OSD setting in settingsArray) { OSDArray innerSetting = setting as OSDArray; string key = innerSetting[0]; string name = innerSetting[1]; OSDMap settings = windlightSettingsArray[name] as OSDMap; SkyData skySettings = new SkyData(); skySettings.FromOSD(name, settings); DataSettings[key] = skySettings; } if (DataSettings.Count == 1 && DataSettings.ContainsKey("-1")) { IsStaticDayCycle = true; } }
private void SkyObservations(string json) { JavaScriptSerializer serializer = new JavaScriptSerializer(); try { SkyObj = serializer.Deserialize <SkyData>(json); SkyObj.valid = true; WFNodeServer.SkyEventArgs evnt = new SkyEventArgs(SkyObj); evnt.SetDaily = CalcDailyPrecipitation(); evnt.Raw = json; try { WeatherFlowNS.NS.RaiseSkyEvent(this, evnt); } catch (Exception ex) { WFLogging.Warning("Failed to process Sky event. " + ex.Message); } WeatherFlowNS.NS.RaiseUpdateEvent(this, new UpdateEventArgs((int)SkyObj.obs[0][0].GetValueOrDefault(), SkyObj.serial_number, DataType.SKY)); } catch (Exception ex) { WFLogging.Error("Deserialization failed for sky data: " + ex.Message); WFLogging.Verbose(json); return; } }