コード例 #1
0
 void ChangeBinding(LabeledBinding labeledBinding, ControlScheme scheme, Text label)
 {
     m_BindingToBeAssigned = labeledBinding.binding;
     InputSystem.ListenForBinding(BindInputControl);
     label.text = "...";
     StartCoroutine(BindingLabelUpdater(label, labeledBinding, scheme));
 }
コード例 #2
0
 bool IsNewBindingAssigned(LabeledBinding labeledBinding)
 {
     if (labeledBinding.binding != m_BindingToBeAssigned)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #3
0
    void ActivateBindingUIElement(int i, LabeledBinding labeledBinding, ControlScheme scheme)
    {
        BindingUIElement element = m_BindingUIElements[i];

        element.actionText.text = labeledBinding.label;

        if (labeledBinding.binding == m_BindingToBeAssigned || labeledBinding.binding == null)
        {
            return;
        }
        else
        {
            element.bindingText.text = labeledBinding.binding.GetSourceName(scheme, false);
            Button button = element.bindingButton;
            button.onClick.RemoveAllListeners();
            button.onClick.AddListener(delegate { ChangeBinding(labeledBinding, scheme, element.bindingText); });
        }
    }
コード例 #4
0
    IEnumerator BindingLabelUpdater(Text label, LabeledBinding labeledBinding, ControlScheme scheme)
    {
        yield return(new WaitUntil(() => IsNewBindingAssigned(labeledBinding)));

        label.text = labeledBinding.binding.GetSourceName(scheme, false);
    }