private static async Task ProcessRequest(Dictionary <string, object> request, int fileSenderVersion, IDownloadFolderDecider downloadFolderDecider, Func <string, Task <IFolder> > folderResolver, bool isResume) { var sessionKey = Guid.Parse(request["Guid"] as string); var ip = request["ServerIP"].ToString(); var isCompatible = CompatibilityHelper.IsCompatible(fileSenderVersion, fileReceiverVersion); var senderName = request["SenderName"].ToString(); if ((!isResume) && (fileSenderVersion >= 2)) { await SendVersionCheckGetRequestAsync(ip, sessionKey, isCompatible); } if (!isCompatible) { // TODO return; } currentReceiveSessionAgent = new ReceiveSessionAgent(ip, sessionKey, senderName, downloadFolderDecider, folderResolver); currentReceiveSessionAgent.FileTransferProgress += (e) => { FileTransferProgress?.Invoke(e); }; currentReceiveSessionAgent.StartReceive(isResume); await currentReceiveSessionAgent.ReceiveFinishTcs.Task; }
private string GetLatestVersion() { try { using (var client = new HttpClient()) { client.BaseAddress = new Uri(_geckDriverListURL); client.DefaultRequestHeaders.Add("User-Agent", "Anything"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = client.GetAsync("repos/operasoftware/operachromiumdriver/releases/latest").Result; response.EnsureSuccessStatusCode(); var latestVersionJSON = response.Content.ReadAsStringAsync().Result; JObject jsonObject = JObject.Parse(latestVersionJSON); string versionTag = (string)jsonObject["tag_name"]; return(CompatibilityHelper.GetVersionSubString(versionTag, @"[^v.]\d+[.]\d+[.]\d*[.]?\d*$")); } } catch (Exception ex) { //Add Logging throw new ArgumentException("Unable to get 'driverVersion'", ex.InnerException); } }
public string GetDriverVersion(string browserVersion) { var driverVersion = String.Empty; if (browserVersion.Equals("Latest", StringComparison.InvariantCultureIgnoreCase)) { // look online bool onlineLookupSuccessful; try { driverVersion = GetLatestVersion(); onlineLookupSuccessful = true; } catch (Exception) { onlineLookupSuccessful = false; //Add Logging } //was it successful? if (!onlineLookupSuccessful) { //no /// look at dictoinary and get latest version stored return(CompatibilityHelper.GetLatestStoredVersion(BrowserName.Firefox)); } else { return(driverVersion); } } else { //search try { //get last compatible version of webdriver for given browser version driverVersion = CompatibilityHelper.GetCompatibleStoredVersion(BrowserName.Firefox, browserVersion); if (!string.IsNullOrWhiteSpace(driverVersion)) { return(driverVersion); } else { throw new ArgumentException("Unable to get 'driverVersion'"); } } catch (Exception ex) { throw ex; } } }
public AccountWindow() { InitializeComponent(); this.DataContext = new AccountViewModel(this.pwd); if (!CompatibilityHelper.IsOSSupported()) { ckEmember.Visibility = Visibility.Hidden; } }
public DynamicBackingItem(int Id, DynamicBackingItemType Type) { if (Type == DynamicBackingItemType.Media) { this.media = ExamineBackedMedia.GetUmbracoMedia(Id); this.Type = Type; } else { this.content = CompatibilityHelper.ConvertToNode(UmbracoContext.Current.ContentCache.GetById(Id)); this.Type = Type; } }
public string GetDriverVersion(string browserVersion) { try { // look at dictionary and get latest version stored //PhantomJS has no more active development (as of March 2019) so simply return last version from dictionary return(CompatibilityHelper.GetLatestStoredVersion(BrowserName.PhantomJS)); } catch (Exception ex) { throw new ArgumentException("Unable to get 'driverVersion'", ex.InnerException); } }
public DynamicBackingItem(int Id) { var n = CompatibilityHelper.ConvertToNode(UmbracoContext.Current.ContentCache.GetById(Id)); this.content = n; this.Type = DynamicBackingItemType.Content; if (n.Id == 0 && Id != 0) { this.media = ExamineBackedMedia.GetUmbracoMedia(Id); this.Type = DynamicBackingItemType.Media; if (this.media == null) { this.Type = DynamicBackingItemType.Content; } return; } }
/// <summary> /// Gets the latest version. /// </summary> /// <returns></returns> public virtual string GetDriverVersion(string browserVersion) { try { if (browserVersion.Equals("Latest", StringComparison.InvariantCultureIgnoreCase)) { // look at dictoinary and get latest version stored return(CompatibilityHelper.GetLatestStoredVersion(BrowserName.EdgeChromium)); } else { // look at dictoinary and get matching version return(CompatibilityHelper.GetCompatibleStoredVersion(BrowserName.EdgeChromium, browserVersion)); } } catch (Exception ex) { throw new ArgumentException("Unable to get 'driverVersion'", ex.InnerException); } }
/// <summary> /// Gets the latest version. /// </summary> /// <returns></returns> public virtual string GetDriverVersion(string browserVersion) { try { try { using (var client = new WebClient()) { var xmlhtml = client.DownloadString(_seleniumDriverListURL); var versionXml = new XmlDocument(); versionXml.LoadXml(xmlhtml); //using xpath to find only contents with 'IEDriverServer' string XmlNodeList xPathIEDriverNodeList = versionXml.SelectNodes("//*[contains(text(), 'IEDriverServer_Win32')]/.."); // Find the most recent version number based on Modifed date string mostRecentVersion = GetMostRecentVersionNumber(xPathIEDriverNodeList); return(mostRecentVersion); } } catch { //Add Logging } //if code has reached this point then online lookup was unsuccessful /// look at dictoinary and get latest version stored CompatibilityHelper.Initialise(BrowserName.InternetExplorer); var latestStoredVersion = CompatibilityHelper.GetLatestStoredVersion(BrowserName.InternetExplorer); return(latestStoredVersion); } catch (Exception ex) { throw new ArgumentException("Unable to get 'driverVersion'", ex.InnerException); } }
private string VersionCheck(IWebServer server, RequestDetails request) { try { var query = QueryHelpers.ParseQuery(request.Url.Query); fileReceiverVersion = int.Parse(query["receiverVersion"][0]); var receiverCompatible = (query["receiverCompatible"][0].ToLower() == "true"); var compatible = receiverCompatible && CompatibilityHelper.IsCompatible(fileSenderVersion, fileReceiverVersion); if (!compatible) { throw new Exception($"Not compatible (sender: {fileSenderVersion}, receiver: {fileReceiverVersion} - {receiverCompatible})"); } return("true"); } catch (Exception ex) { //TODO return("false"); } }
public List <Tuple <string, string> > GetDriverInfo(IDriverConfig browserConfig, Architecture architecture, string browserVersion) { var baseUrlForSelectedArchitecture = architecture.Equals(Architecture.X32) ? browserConfig.GetUrl32() : browserConfig.GetUrl64(); browserVersion = browserVersion.Equals("Latest", StringComparison.InvariantCultureIgnoreCase) ? browserVersion : CompatibilityHelper.GetMajorVersion(browserVersion); var driverVersion = browserConfig.GetDriverVersion(browserVersion); var url = UrlHelper.BuildUrl(baseUrlForSelectedArchitecture, driverVersion); var fileAndFolderPath = FileHelper.GetDriverDestination(browserConfig.GetName(), driverVersion, architecture, browserConfig.GetBinaryName()); List <Tuple <string, string> > driverInfo = new List <Tuple <string, string> >(); driverInfo.Add(new Tuple <string, string>(url, fileAndFolderPath)); return(driverInfo); }
public void OnSettingsUI(UIHelperBase helper) { UIHelperBase group; bool selected; group = helper.AddGroup(Name); selected = ModConfig.Instance.EnforcePropsHiding; group.AddCheckbox("Enforce hiding of Props (not recommended for normal users)", selected, sel => { ModConfig.Instance.EnforcePropsHiding = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.EnforceSpriteDecorationsHiding; group.AddCheckbox("Enforce hiding of Sprite Decorations (not recommended for normal users)", selected, sel => { ModConfig.Instance.EnforceSpriteDecorationsHiding = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.EnforceRuiningsHiding; group.AddCheckbox("Enforce hiding of Ruinings (not recommended for normal users)", selected, sel => { ModConfig.Instance.EnforceRuiningsHiding = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup("User Interface"); selected = ModConfig.Instance.InfoViewsButton; group.AddCheckbox("Info Views Button", selected, sel => { ModConfig.Instance.InfoViewsButton = sel; ModConfig.Instance.Save(); }); if (SteamHelper.IsDLCOwned(SteamHelper.DLC.NaturalDisastersDLC)) { selected = ModConfig.Instance.DisastersButton; group.AddCheckbox("Disasters Button", selected, sel => { ModConfig.Instance.DisastersButton = sel; ModConfig.Instance.Save(); }); } selected = ModConfig.Instance.ChirperButton; group.AddCheckbox("Chirper Button", selected, sel => { ModConfig.Instance.ChirperButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RadioButton; group.AddCheckbox("Radio Button", selected, sel => { ModConfig.Instance.RadioButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GearButton; group.AddCheckbox("Gear Button", selected, sel => { ModConfig.Instance.GearButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.ZoomButton; group.AddCheckbox("Zoom Button", selected, sel => { ModConfig.Instance.ZoomButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.UnlockButton; group.AddCheckbox("Unlock Button", selected, sel => { ModConfig.Instance.UnlockButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AdvisorButton; group.AddCheckbox("Advisor Button", selected, sel => { ModConfig.Instance.AdvisorButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.BulldozerButton; group.AddCheckbox("Bulldozer Button", selected, sel => { ModConfig.Instance.BulldozerButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.CinematicCameraButton; group.AddCheckbox("Cinematic Camera Button", selected, sel => { ModConfig.Instance.CinematicCameraButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.FreeCameraButton; group.AddCheckbox("Free Camera Button", selected, sel => { ModConfig.Instance.FreeCameraButton = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.CongratulationPanel; group.AddCheckbox("Congratulation Panel", selected, sel => { ModConfig.Instance.CongratulationPanel = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AdvisorPanel; group.AddCheckbox("Advisor Panel", selected, sel => { ModConfig.Instance.AdvisorPanel = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.TimePanel; group.AddCheckbox("Time Panel", selected, sel => { ModConfig.Instance.TimePanel = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.ZoomAndUnlockBackground; group.AddCheckbox("Zoom and Unlock Background", selected, sel => { ModConfig.Instance.ZoomAndUnlockBackground = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Separators; group.AddCheckbox("Separators in Toolbar", selected, sel => { ModConfig.Instance.Separators = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup("Objects"); selected = ModConfig.Instance.Seagulls; group.AddCheckbox("Seagulls", selected, sel => { ModConfig.Instance.Seagulls = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Wildlife; group.AddCheckbox("Wildlife", selected, sel => { ModConfig.Instance.Wildlife = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup($"Props{(CompatibilityHelper.IsAnyPropsAndTreesManipulatingModsEnabled() ? " (Disabled unless enforcement is selected)" : "")}"); selected = ModConfig.Instance.Flags; group.AddCheckbox("Flags", selected, sel => { ModConfig.Instance.Flags = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Ads; group.AddCheckbox("Ads", selected, sel => { ModConfig.Instance.Ads = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Billboards; group.AddCheckbox("Billboards", selected, sel => { ModConfig.Instance.Billboards = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Neons; group.AddCheckbox("Neons", selected, sel => { ModConfig.Instance.Neons = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Logos; group.AddCheckbox("Logos", selected, sel => { ModConfig.Instance.Logos = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Smoke; group.AddCheckbox("Smoke", selected, sel => { ModConfig.Instance.Smoke = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Steam; group.AddCheckbox("Steam", selected, sel => { ModConfig.Instance.Steam = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.SolarPanels; group.AddCheckbox("Solar Panels", selected, sel => { ModConfig.Instance.SolarPanels = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.HvacSystems; group.AddCheckbox("HVAC Systems", selected, sel => { ModConfig.Instance.HvacSystems = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.ParkingSpaces; group.AddCheckbox("Parking Spaces", selected, sel => { ModConfig.Instance.ParkingSpaces = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AbandonedAndDestroyedCars; group.AddCheckbox("Abandoned and Destroyed Cars", selected, sel => { ModConfig.Instance.AbandonedAndDestroyedCars = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.CargoContainers; group.AddCheckbox("Cargo Containers", selected, sel => { ModConfig.Instance.CargoContainers = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GarbageContainers; group.AddCheckbox("Garbage Containers", selected, sel => { ModConfig.Instance.GarbageContainers = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GarbageBinsAndCans; group.AddCheckbox("Garbage Bins and Cans", selected, sel => { ModConfig.Instance.GarbageBinsAndCans = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GarbagePiles; group.AddCheckbox("Garbage Piles", selected, sel => { ModConfig.Instance.GarbagePiles = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Tanks; group.AddCheckbox("Tanks", selected, sel => { ModConfig.Instance.Tanks = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Barrels; group.AddCheckbox("Barrels", selected, sel => { ModConfig.Instance.Barrels = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Pallets; group.AddCheckbox("Pallets", selected, sel => { ModConfig.Instance.Pallets = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Crates; group.AddCheckbox("Crates", selected, sel => { ModConfig.Instance.Crates = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Planks; group.AddCheckbox("Planks", selected, sel => { ModConfig.Instance.Planks = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.CableReels; group.AddCheckbox("Cable Reels", selected, sel => { ModConfig.Instance.CableReels = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Hedges; group.AddCheckbox("Hedges", selected, sel => { ModConfig.Instance.Hedges = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Fences; group.AddCheckbox("Fences", selected, sel => { ModConfig.Instance.Fences = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Gates; group.AddCheckbox("Gates", selected, sel => { ModConfig.Instance.Gates = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Mailboxes; group.AddCheckbox("Mailboxes", selected, sel => { ModConfig.Instance.Mailboxes = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Chairs; group.AddCheckbox("Chairs", selected, sel => { ModConfig.Instance.Chairs = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Tables; group.AddCheckbox("Tables", selected, sel => { ModConfig.Instance.Tables = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Parasols; group.AddCheckbox("Parasols", selected, sel => { ModConfig.Instance.Parasols = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Grills; group.AddCheckbox("Grills", selected, sel => { ModConfig.Instance.Grills = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Sandboxes; group.AddCheckbox("Sandboxes", selected, sel => { ModConfig.Instance.Sandboxes = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Swings; group.AddCheckbox("Swings", selected, sel => { ModConfig.Instance.Swings = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.SwimmingPools; group.AddCheckbox("Swimming Pools", selected, sel => { ModConfig.Instance.SwimmingPools = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.PotsAndBeds; group.AddCheckbox("Pots and Beds", selected, sel => { ModConfig.Instance.PotsAndBeds = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Delineators; group.AddCheckbox("Delineators", selected, sel => { ModConfig.Instance.Delineators = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RoadArrows; group.AddCheckbox("Road Arrows", selected, sel => { ModConfig.Instance.RoadArrows = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.TramArrows; group.AddCheckbox("Tram Arrows", selected, sel => { ModConfig.Instance.TramArrows = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.BikeLanes; group.AddCheckbox("Bike Lanes", selected, sel => { ModConfig.Instance.BikeLanes = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.BusLanes; group.AddCheckbox("Bus Lanes", selected, sel => { ModConfig.Instance.BusLanes = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Manholes; group.AddCheckbox("Manholes", selected, sel => { ModConfig.Instance.Manholes = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.BusStops; group.AddCheckbox("Bus Stops", selected, sel => { ModConfig.Instance.BusStops = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.SightseeingBusStops; group.AddCheckbox("Sightseeing Bus Stops", selected, sel => { ModConfig.Instance.SightseeingBusStops = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.TramStops; group.AddCheckbox("Tram Stops", selected, sel => { ModConfig.Instance.TramStops = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RailwayCrossings; group.AddCheckbox("Railway Crossings", selected, sel => { ModConfig.Instance.RailwayCrossings = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.StreetNameSigns; group.AddCheckbox("Street Name Signs", selected, sel => { ModConfig.Instance.StreetNameSigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.StopSigns; group.AddCheckbox("Stop Signs", selected, sel => { ModConfig.Instance.StopSigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.TurnSigns; group.AddCheckbox("Turn Signs", selected, sel => { ModConfig.Instance.TurnSigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.SpeedLimitSigns; group.AddCheckbox("Speed Limit Signs", selected, sel => { ModConfig.Instance.SpeedLimitSigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.NoParkingSigns; group.AddCheckbox("No Parking Signs", selected, sel => { ModConfig.Instance.NoParkingSigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.HighwaySigns; group.AddCheckbox("Highway Signs", selected, sel => { ModConfig.Instance.HighwaySigns = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.PedestrianAndBikeStreetLights; group.AddCheckbox("Pedestrian and Bike Street Lights", selected, sel => { ModConfig.Instance.PedestrianAndBikeStreetLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RoadStreetLights; group.AddCheckbox("Road Street Lights", selected, sel => { ModConfig.Instance.RoadStreetLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AvenueStreetLights; group.AddCheckbox("Avenue Street Lights", selected, sel => { ModConfig.Instance.AvenueStreetLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.HighwayStreetLights; group.AddCheckbox("Highway Street Lights", selected, sel => { ModConfig.Instance.HighwayStreetLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RunwayLights; group.AddCheckbox("Runway Lights", selected, sel => { ModConfig.Instance.RunwayLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.TaxiwayLights; group.AddCheckbox("Taxiway Lights", selected, sel => { ModConfig.Instance.TaxiwayLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.WarningLights; group.AddCheckbox("Warning Lights", selected, sel => { ModConfig.Instance.WarningLights = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.RandomStreetDecorations; group.AddCheckbox("Random Street Decorations", selected, sel => { ModConfig.Instance.RandomStreetDecorations = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.Buoys; group.AddCheckbox("Buoys", selected, sel => { ModConfig.Instance.Buoys = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup($"Sprite Decorations{(CompatibilityHelper.IsAnySpriteDecorationsManipulatingModsEnabled() ? " (Disabled unless enforcement is selected)" : "")}"); selected = ModConfig.Instance.CliffDecoration; group.AddCheckbox("Cliff", selected, sel => { ModConfig.Instance.CliffDecoration = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GrassDecoration; group.AddCheckbox("Grass", selected, sel => { ModConfig.Instance.GrassDecoration = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.FertileDecoration; group.AddCheckbox("Fertile", selected, sel => { ModConfig.Instance.FertileDecoration = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup($"Ruinings{(CompatibilityHelper.IsAnyPropsAndTreesManipulatingModsEnabled() ? " (Disabled unless enforcement is selected)" : "")}"); selected = ModConfig.Instance.TreeRuining; group.AddCheckbox("Trees", selected, sel => { ModConfig.Instance.TreeRuining = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.PropRuining; group.AddCheckbox("Props", selected, sel => { ModConfig.Instance.PropRuining = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AutoUpdateTreeRuiningAtLoad; group.AddCheckbox("Automatic update existing trees at load", selected, sel => { ModConfig.Instance.AutoUpdateTreeRuiningAtLoad = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.AutoUpdatePropRuiningAtLoad; group.AddCheckbox("Automatic update existing props at load", selected, sel => { ModConfig.Instance.AutoUpdatePropRuiningAtLoad = sel; ModConfig.Instance.Save(); }); group.AddSpace(10); group.AddButton("Update ruining on existing trees and props in-game now!", () => { RuiningHelper.UpdateExistingTreesRuining(ModConfig.Instance.TreeRuining); RuiningHelper.UpdateExistingPropsRuining(ModConfig.Instance.PropRuining); }); group = helper.AddGroup("Ground and Water Colors"); selected = ModConfig.Instance.GrassFertilityGroundColor; group.AddCheckbox("Grass Fertility Ground Color", selected, sel => { ModConfig.Instance.GrassFertilityGroundColor = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GrassFieldGroundColor; group.AddCheckbox("Grass Field Ground Color", selected, sel => { ModConfig.Instance.GrassFieldGroundColor = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GrassForestGroundColor; group.AddCheckbox("Grass Forest Ground Color", selected, sel => { ModConfig.Instance.GrassForestGroundColor = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.GrassPollutionGroundColor; group.AddCheckbox("Grass Pollution Ground Color", selected, sel => { ModConfig.Instance.GrassPollutionGroundColor = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.DirtyWaterColor; group.AddCheckbox("Dirty Water Color", selected, sel => { ModConfig.Instance.DirtyWaterColor = sel; ModConfig.Instance.Save(); }); group = helper.AddGroup("Effects"); selected = ModConfig.Instance.OreArea; group.AddCheckbox("Ore Area", selected, sel => { ModConfig.Instance.OreArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.OilArea; group.AddCheckbox("Oil Area", selected, sel => { ModConfig.Instance.OilArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.SandArea; group.AddCheckbox("Sand Area", selected, sel => { ModConfig.Instance.SandArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.FertilityArea; group.AddCheckbox("Fertility Area", selected, sel => { ModConfig.Instance.FertilityArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.ForestArea; group.AddCheckbox("Forest Area", selected, sel => { ModConfig.Instance.ForestArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.ShoreArea; group.AddCheckbox("Shore Area", selected, sel => { ModConfig.Instance.ShoreArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.PollutedArea; group.AddCheckbox("Polluted Area", selected, sel => { ModConfig.Instance.PollutedArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.BurnedArea; group.AddCheckbox("Burned Area", selected, sel => { ModConfig.Instance.BurnedArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.DestroyedArea; group.AddCheckbox("Destroyed Area", selected, sel => { ModConfig.Instance.DestroyedArea = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.PollutionFog; group.AddCheckbox("Pollution Fog", selected, sel => { ModConfig.Instance.PollutionFog = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.VolumeFog; group.AddCheckbox("Volume Fog", selected, sel => { ModConfig.Instance.VolumeFog = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.DistanceFog; group.AddCheckbox("Distance Fog", selected, sel => { ModConfig.Instance.DistanceFog = sel; ModConfig.Instance.Save(); }); selected = ModConfig.Instance.EdgeFog; group.AddCheckbox("Edge Fog", selected, sel => { ModConfig.Instance.EdgeFog = sel; ModConfig.Instance.Save(); }); }
public string GetDriverVersion(string browserVersion) { var driverVersion = String.Empty; if (browserVersion.Equals("Latest", StringComparison.InvariantCultureIgnoreCase)) { // look online bool onlineLookupSuccessful; try { driverVersion = GetLatestVersion(); onlineLookupSuccessful = true; } catch (Exception) { onlineLookupSuccessful = false; //Add Logging } //was it successful? if (!onlineLookupSuccessful) { //no /// look at dictoinary and get latest version stored return(CompatibilityHelper.GetLatestStoredVersion(BrowserName.Opera)); } else { return(driverVersion); } } else { //search try { //get matching version driverVersion = CompatibilityHelper.GetCompatibleStoredVersion(BrowserName.Opera, browserVersion); if (!string.IsNullOrWhiteSpace(driverVersion)) { return(driverVersion); } //if browser version is newer than examples stored in compatbility dictionary //try using the most recent version of gecko driver driverVersion = CompatibilityHelper.GetLatestStoredVersion(BrowserName.Opera); if (!string.IsNullOrWhiteSpace(driverVersion)) { return(driverVersion); } else { throw new ArgumentException("Unable to get 'driverVersion'"); } } catch (Exception ex) { throw ex; } } }
public void Update() { try { if (!_initialized || ModConfig.Instance.ConfigUpdated) { ToggleSingleUIComponent("InfoMenu", ModConfig.Instance.InfoViewsButton); if (SteamHelper.IsDLCOwned(SteamHelper.DLC.NaturalDisastersDLC)) { ToggleSingleUIComponent("WarningPhasePanel", ModConfig.Instance.DisastersButton); } ToggleSingleUIComponent("ChirperPanel", ModConfig.Instance.ChirperButton); ToggleSingleUIComponent("RadioPanel", ModConfig.Instance.RadioButton); ToggleSingleUIComponent("Esc", ModConfig.Instance.GearButton); ToggleSingleUIComponent("ZoomComposite", ModConfig.Instance.ZoomButton); ToggleSingleUIComponent("UnlockButton", ModConfig.Instance.UnlockButton); ToggleSingleUIComponent("AdvisorButton", ModConfig.Instance.AdvisorButton); ToggleSingleUIComponent("BulldozerButton", ModConfig.Instance.BulldozerButton); ToggleSingleUIComponent("CinematicCameraPanel", ModConfig.Instance.CinematicCameraButton); ToggleSingleUIComponent("Freecamera", ModConfig.Instance.FreeCameraButton); ToggleSingleUIComponent("PanelTime", ModConfig.Instance.TimePanel); ToggleSingleUIComponent("Sprite", "TSBar", ModConfig.Instance.ZoomAndUnlockBackground); ToggleMultipleUIComponents("Separator", "MainToolstrip", ModConfig.Instance.Separators); ToggleMultipleUIComponents("SmallSeparator", "MainToolstrip", ModConfig.Instance.Separators); if (!CompatibilityHelper.IsAnyPropsAndTreesManipulatingModsEnabled() || ModConfig.Instance.EnforcePropsHiding) { ToggleBuildingProps( ModConfig.Instance.Flags, ModConfig.Instance.Ads, ModConfig.Instance.Billboards, ModConfig.Instance.Neons, ModConfig.Instance.Logos, ModConfig.Instance.Smoke, ModConfig.Instance.Steam, ModConfig.Instance.SolarPanels, ModConfig.Instance.HvacSystems, ModConfig.Instance.ParkingSpaces, ModConfig.Instance.AbandonedAndDestroyedCars, ModConfig.Instance.CargoContainers, ModConfig.Instance.GarbageContainers, ModConfig.Instance.GarbageBinsAndCans, ModConfig.Instance.GarbagePiles, ModConfig.Instance.Tanks, ModConfig.Instance.Barrels, ModConfig.Instance.Pallets, ModConfig.Instance.Crates, ModConfig.Instance.Planks, ModConfig.Instance.CableReels, ModConfig.Instance.Hedges, ModConfig.Instance.Fences, ModConfig.Instance.Gates, ModConfig.Instance.Mailboxes, ModConfig.Instance.Chairs, ModConfig.Instance.Tables, ModConfig.Instance.Parasols, ModConfig.Instance.Grills, ModConfig.Instance.Sandboxes, ModConfig.Instance.Swings, ModConfig.Instance.SwimmingPools, ModConfig.Instance.PotsAndBeds ); ToggleNetProps( ModConfig.Instance.Delineators, ModConfig.Instance.RoadArrows, ModConfig.Instance.TramArrows, ModConfig.Instance.BikeLanes, ModConfig.Instance.BusLanes, ModConfig.Instance.Manholes, ModConfig.Instance.BusStops, ModConfig.Instance.SightseeingBusStops, ModConfig.Instance.TramStops, ModConfig.Instance.RailwayCrossings, ModConfig.Instance.StreetNameSigns, ModConfig.Instance.StopSigns, ModConfig.Instance.TurnSigns, ModConfig.Instance.SpeedLimitSigns, ModConfig.Instance.NoParkingSigns, ModConfig.Instance.HighwaySigns, ModConfig.Instance.PedestrianAndBikeStreetLights, ModConfig.Instance.RoadStreetLights, ModConfig.Instance.AvenueStreetLights, ModConfig.Instance.HighwayStreetLights, ModConfig.Instance.RunwayLights, ModConfig.Instance.TaxiwayLights, ModConfig.Instance.WarningLights, ModConfig.Instance.RandomStreetDecorations, ModConfig.Instance.Buoys); } if (!CompatibilityHelper.IsAnySpriteDecorationsManipulatingModsEnabled() || ModConfig.Instance.EnforceSpriteDecorationsHiding) { ToggleDecorations( ModConfig.Instance.CliffDecoration, ModConfig.Instance.FertileDecoration, ModConfig.Instance.GrassDecoration); } if (!CompatibilityHelper.IsAnyPropsAndTreesManipulatingModsEnabled() || ModConfig.Instance.EnforceRuiningsHiding) { ToggleRuining( ModConfig.Instance.TreeRuining, ModConfig.Instance.PropRuining); } ToggleGroundColor( ModConfig.Instance.GrassFertilityGroundColor, ModConfig.Instance.GrassFieldGroundColor, ModConfig.Instance.GrassForestGroundColor, ModConfig.Instance.GrassPollutionGroundColor); ToggleWaterColor(ModConfig.Instance.DirtyWaterColor); ToggleFogEffects( ModConfig.Instance.PollutionFog, ModConfig.Instance.VolumeFog, ModConfig.Instance.DistanceFog, ModConfig.Instance.EdgeFog); if (ModConfig.Instance.Seagulls) { ObjectHelper.RefreshSeagulls(); } if (ModConfig.Instance.Wildlife) { ObjectHelper.RefreshWildlife(); } TextureHelper.RefreshTexture(); _initialized = true; ModConfig.Instance.ConfigUpdated = false; } InfoViewManager.Instance.UpdateInfoView(); } catch (Exception e) { Debug.Log("[Hide It!] ModManager:Update -> Exception: " + e.Message); } }