示例#1
0
        public override void ImportSettings(string settings)
        {
            if (string.IsNullOrEmpty(settings))
            {
                throw new ArgumentException("Import string empty. (BIPLinkPZ69)");
            }
            if (settings.StartsWith("RadioPanelBIPLink{"))
            {
                //RadioPanelBIPLink{1UpperCOM1}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/Description["Set Engines On"]\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
                // 0 1 2 3
                var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries);

                //RadioPanelBIPLink{1UpperCOM1}
                var param0 = parameters[0].Replace("RadioPanelBIPLink{", "").Replace("}", "").Trim();
                //1UpperCOM1
                WhenOnTurnedOn = param0.Substring(0, 1) == "1";
                param0         = param0.Substring(1);
                _panelPZ69Knob = (RadioPanelPZ69KnobsEmulator)Enum.Parse(typeof(RadioPanelPZ69KnobsEmulator), param0);

                for (var i = 0; i < parameters.Length; i++)
                {
                    if (parameters[i].StartsWith("BIPLight"))
                    {
                        var tmpBipLight = new BIPLight();
                        _bipLights.Add(GetNewKeyValue(), tmpBipLight);
                        tmpBipLight.ImportSettings(parameters[i]);
                    }
                    if (parameters[i].StartsWith("Description["))
                    {
                        var tmp = parameters[i].Replace("Description[", "").Replace("]", "");
                        _description = tmp;
                    }
                }
            }
        }
示例#2
0
 public void ShowLight(BIPLight bipLight)
 {
     foreach (var backlitPanelBIP in _backlitPanels)
     {
         if (bipLight.BindingHash == backlitPanelBIP.BindingHash)
         {
             backlitPanelBIP.SetLED(bipLight.BIPLedPosition, bipLight.LEDColor);
         }
     }
 }
示例#3
0
        public override void ImportSettings(string settings)
        {
            if (string.IsNullOrEmpty(settings))
            {
                throw new ArgumentException("Import string empty. (BIPLinkPZ70)");
            }

            if (settings.StartsWith("MultipanelBIPLink{"))
            {
                // MultipanelBIPLink{ALT|1KNOB_ENGINE_LEFT}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/BIPLight{Position_1_4|GREEN|FourSec|f5fe6e63e0c05a20f519d4b9e46fab3e}\o/Description["Set Engines On"]\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
                // 0 1 2 3
                var parameters = settings.Split(new[] { SaitekConstants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries);

                // MultipanelBIPLink{ALT|1KNOB_ENGINE_LEFT}
                var param0 = parameters[0].Replace("MultipanelBIPLink{", string.Empty).Replace("}", string.Empty).Trim();

                // ALT|1KNOB_ENGINE_LEFT
                var tmpArray = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                WhenOnTurnedOn     = tmpArray[1].Substring(0, 1) == "1";
                MultiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), tmpArray[1].Substring(1));
                DialPosition       = (PZ70DialPosition)Enum.Parse(typeof(PZ70DialPosition), tmpArray[0]);

                for (var i = 0; i < parameters.Length; i++)
                {
                    if (parameters[i].StartsWith("BIPLight"))
                    {
                        var tmpBipLight = new BIPLight();
                        _bipLights.Add(GetNewKeyValue(), tmpBipLight);
                        tmpBipLight.ImportSettings(parameters[i]);
                    }

                    if (parameters[i].StartsWith("Description["))
                    {
                        var tmp = parameters[i].Replace("Description[", string.Empty).Replace("]", string.Empty);
                        _description = tmp;
                    }
                }
            }
        }
示例#4
0
 public static void ShowLight(BIPLight bipLight)
 {
     BIPEventHandlerManager.ShowLight(bipLight);
 }