private void handleButtonInput(InputMappedButton button, ButtonInputResult buttonInput = null)
 {
     if (button != null)
     {
         MemberLockedTrayInputButton componentInChildren = button.GetComponentInChildren <MemberLockedTrayInputButton>();
         InputMappedButton           inputMappedButton   = button;
         if (componentInChildren != null && componentInChildren.IsLocked && componentInChildren.MemberLock != null)
         {
             inputMappedButton = componentInChildren.MemberLock.GetComponent <InputMappedButton>();
         }
         if (inputMappedButton != null)
         {
             inputMappedButton.HandleMappedInput(buttonInput);
         }
     }
 }
 public void HandleMappedInput(ButtonInputResult buttonInput = null)
 {
     if (clickListener.Interactable)
     {
         if (buttonInput == null)
         {
             releaseButton();
         }
         else if (buttonInput.WasJustPressed)
         {
             pressButton();
         }
         else if (buttonInput.WasJustReleased && isPressed)
         {
             releaseButton();
             clickListener.InvokeClick(ButtonClickListener.ClickType.InputMap);
         }
     }
 }