/// <summary> /// tp01_ButtonStateChange - ButtonStateChange event handler /// </summary> /// <param name="device">GenericBase</param> /// <param name="args">ButtonEventArgs</param> void tp01_ButtonStateChange(GenericBase device, ButtonEventArgs args) { try { eButtonName btnName = args.Button.Name; uint btnNum = args.Button.Number; eButtonState btnState = args.Button.State; if (btnState == eButtonState.Pressed) { buttonPanelUtility.ExecuteButtonAction(btnName); if (btnNum > 4) { buttonPanelUtility.SetButtonFb(btnNum, true); } else if (btnNum == 1 || btnNum == 4) { buttonPanelUtility.ToggleFeedback(btnNum); } else if (btnNum == 2) { buttonPanelUtility.DecrementVolumeBar(655); } else if (btnNum == 3) { buttonPanelUtility.IncrementVolumeBar(655); } } } catch (Exception e) { Debug.Log(">>> Error in tp01_ButtonStateChange: " + e.Message, Debug.ErrorLevel.Error, true); } }
/// <summary> /// uses the button name as the key to execute the /// method value associated with it in the _buttonMap dictionary /// if the key is not found, print to ErrorLog /// </summary> /// <param name="btnName">button name</param> public void ExecuteButtonAction(eButtonName btnName) { if (_buttonMap.ContainsKey(btnName)) { var exeBtnDel = _buttonMap[btnName]; if (exeBtnDel != null) { exeBtnDel.Invoke(); } } else { Debug.Log(">>> Error : " + btnName + " does not exist in dictionary.", Debug.ErrorLevel.Warning, true); throw new KeyNotFoundException("Error: " + btnName + " does not exist in dictionary"); } }
/// <summary> /// Assigns button presses to actions /// </summary> public void AssignButton(eButtonName btnName, Action action) { _buttonMap.Add(btnName, action); }