void CreateItem(InputAction action) { GameObject go = Instantiate(template, parent); ControlBindingItem cbi = go.GetComponentInChildren <ControlBindingItem>(); cbi.action = action; cbi.txtAction.text = action.name; go.GetComponent <Button>().onClick.AddListener(() => StartRebind(cbi)); list.Add(cbi); }
public void StartRebind(ControlBindingItem cbi) { //if( cbi.action.controls.Count == 0 ) Global.instance.Controls.Disable(); cbi.button.interactable = false; InputActionRebindingExtensions.PerformInteractiveRebinding(cbi.action) //.OnCancel( OnCancel ) .OnComplete((x) => { cbi.OnComplete(x); cbi.button.interactable = true; EventSystem.current.SetSelectedGameObject(cbi.button.gameObject); Global.instance.Controls.Enable(); }) .OnMatchWaitForAnother(0.2f) .Start(); }