public void CopySettings(ModelProfileSwitcher settings) { EnableSwitching = settings.EnableSwitching; ProfilesInstalled = settings.ProfilesInstalled; MappingsJson = settings.MappingsJson; LoadFromJson(); CheckDefaultProfiles(); ExportToJson(); }
protected void SwitchProfiles() { foreach (var deviceMapping in GlobalProfileSettings.DeviceMappings) { string switchTo = ""; if (string.IsNullOrEmpty(loadedFSProfile.Value) && deviceMapping.UseDefault && !string.IsNullOrEmpty(deviceMapping.DefaultProfile)) { switchTo = deviceMapping.DefaultProfile; } else if (deviceMapping.Profiles != null && deviceMapping.Profiles.Count() > 0) { foreach (var profile in deviceMapping.Profiles) { if (ModelProfileSwitcher.IsInProfile(profile.Mappings, loadedFSProfile.Value)) { switchTo = profile.Name; break; } } if (switchTo == "" && deviceMapping.UseDefault && !string.IsNullOrEmpty(deviceMapping.DefaultProfile)) { switchTo = deviceMapping.DefaultProfile; } } if (switchTo != "") { Log.Logger.Information($"ActionController: FSUIPC Profile [{loadedFSProfile.Value}] active for Aircraft [{loadedAircraft.Value}]-> switching to [{switchTo}] on StreamDeck [{deviceMapping.Name}]"); _ = DeckManager.SwitchToProfileAsync(DeckManager.PluginUUID, deviceMapping.ID, switchTo); if (!switchedDecks.Contains(deviceMapping.ID)) { switchedDecks.Add(deviceMapping.ID); } } } lastFSProfile = loadedFSProfile.Value; lastAircraft = loadedAircraft.Value; }
public void UpdateGlobalSettings(ModelProfileSwitcher settings) { GlobalProfileSettings.CopySettings(settings); DeckManager.SetGlobalSettingsAsync(DeckManager.PluginUUID, GlobalProfileSettings); }