////REVIEW: the binding may come from anywhere; method assumes we get passed some state we actually own
        public bool BindControl(IEndBinding binding, InputControl control, bool restrictToExistingDevices)
        {
            if (restrictToExistingDevices)
            {
                bool existingDevice = false;
                for (int i = 0; i < m_DeviceStates.Count; i++)
                {
                    if (control.provider == m_DeviceStates[i].controlProvider)
                    {
                        existingDevice = true;
                        break;
                    }
                }
                if (!existingDevice)
                {
                    return(false);
                }
            }

            if (!binding.TryBindControl(control, this))
            {
                return(false);
            }
            m_ControlScheme.customized = true;
            RefreshBindings();
            return(true);
        }
Exemplo n.º 2
0
 void ChangeBinding(LabeledBinding labeledBinding, ControlScheme scheme, Text label)
 {
     m_BindingToBeAssigned = labeledBinding.binding;
     InputSystem.ListenForBinding(BindInputControl);
     label.text = "...";
     StartCoroutine(BindingLabelUpdater(label, labeledBinding, scheme));
 }
Exemplo n.º 3
0
    bool BindInputControl(InputControl control)
    {
        if (!m_ActionMapInput.BindControl(m_BindingToBeAssigned, control, true))
        {
            return(false);
        }

        m_BindingToBeAssigned = null;
        return(true);
    }
Exemplo n.º 4
0
 public LabeledBinding(string label, IEndBinding binding)
 {
     this.label   = label;
     this.binding = binding;
 }