public void CopySettings(ModelProfileSwitcher settings)
 {
     EnableSwitching   = settings.EnableSwitching;
     ProfilesInstalled = settings.ProfilesInstalled;
     MappingsJson      = settings.MappingsJson;
     LoadFromJson();
     CheckDefaultProfiles();
     ExportToJson();
 }
示例#2
0
        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;
        }
示例#3
0
 public void UpdateGlobalSettings(ModelProfileSwitcher settings)
 {
     GlobalProfileSettings.CopySettings(settings);
     DeckManager.SetGlobalSettingsAsync(DeckManager.PluginUUID, GlobalProfileSettings);
 }