示例#1
0
        public void BIPLink_MustBe_Clonable_UseOf_BIPLinkPZ55()
        {
            //Note: BIPLink is Absract
            BIPLinkPZ55 source = new();

            source.Description  = _sringValue1;
            source.WhenTurnedOn = false;

            BIPLinkPZ55 cloned = source.CloneJson();

            Assert.NotNull(cloned);
            Assert.Equal(_sringValue1, cloned.Description);
            Assert.False(cloned.WhenTurnedOn);
        }
        public override void ImportSettings(GenericPanelBinding genericPanelBinding)
        {
            ClearSettings();

            BindingHash = genericPanelBinding.BindingHash;

            var settings = genericPanelBinding.Settings;

            foreach (var setting in settings)
            {
                if (!setting.StartsWith("#") && setting.Length > 2)
                {
                    if (setting.StartsWith("SwitchPanelKey{"))
                    {
                        var keyBinding = new KeyBindingPZ55();
                        keyBinding.ImportSettings(setting);
                        _keyBindings.Add(keyBinding);
                    }
                    else if (setting.StartsWith("SwitchPanelOSPZ55"))
                    {
                        var operatingSystemCommand = new OSCommandBindingPZ55();
                        operatingSystemCommand.ImportSettings(setting);
                        _operatingSystemCommandBindings.Add(operatingSystemCommand);
                    }
                    else if (setting.StartsWith("SwitchPanelLed"))
                    {
                        var colorOutput = new DcsOutputAndColorBindingPZ55();
                        colorOutput.ImportSettings(setting);
                        _listColorOutputBinding.Add(colorOutput);
                    }
                    else if (setting.StartsWith("SwitchPanelDCSBIOSControl{"))
                    {
                        var dcsBIOSBindingPZ55 = new DCSBIOSActionBindingPZ55();
                        dcsBIOSBindingPZ55.ImportSettings(setting);
                        _dcsBiosBindings.Add(dcsBIOSBindingPZ55);
                    }
                    else if (setting.StartsWith("SwitchPanelBIPLink{"))
                    {
                        var bipLinkPZ55 = new BIPLinkPZ55();
                        bipLinkPZ55.ImportSettings(setting);
                        _bipLinks.Add(bipLinkPZ55);
                    }
                    else if (setting.StartsWith("ManualLandingGearLEDs{"))
                    {
                        _manualLandingGearLeds = setting.Contains("True");
                    }
                    else if (setting.StartsWith("ManualLandingGearLedsColorDown{"))
                    {
                        _manualLandingGearLedsColorDown = GetSettingPanelLEDColor(setting);
                    }
                    else if (setting.StartsWith("ManualLandingGearLedsColorUp{"))
                    {
                        _manualLandingGearLedsColorUp = GetSettingPanelLEDColor(setting);
                    }
                    else if (setting.StartsWith("ManualLandingGearLedsColorTrans{"))
                    {
                        _manualLandingGearLedsColorTrans = GetSettingPanelLEDColor(setting);
                    }
                    else if (setting.StartsWith("ManualLandingGearTransTimeSeconds{"))
                    {
                        _manualLandingGearTransTimeSeconds = Convert.ToInt16(GetValueFromSetting(setting));
                    }
                }
            }

            AppEventHandler.SettingsApplied(this, HIDSkeletonBase.HIDInstance, TypeOfPanel);
            _keyBindings = KeyBindingPZ55.SetNegators(_keyBindings);
        }