public void DrawKeyCode(SerializedProperty key, string label, BindKeyIndex index) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(key, new GUIContent(label)); if (currentBind != null && currentIndex != null && index.Cat == currentIndex.Cat && index.Bind == currentIndex.Bind && index.Key == currentIndex.Key) { if (GUILayout.Button("Cancel")) { binding = false; currentBind = null; currentIndex = null; } } else { if (GUILayout.Button("Bind")) { binding = true; currentIndex = index; currentBind = key; } } EditorGUILayout.EndHorizontal(); }
public string[] GetBindNameAndKey(BindKeyIndex index) { string[] resault = new string[2]; resault[0] = binds_s[index.Cat][index.Bind].Name; resault[1] = binds_s[index.Cat][index.Bind][index.Key].ToString(); return(resault); }
void StartBinding(int catIndex, int bindIndex, int keyIndex) //Starts Binding Procedure { binding = true; optionsBackB.interactable = false; currentBindKeyIndex = new BindKeyIndex(catIndex, bindIndex, keyIndex); string[] names = inputManager.GetBindNameAndKey(currentBindKeyIndex); popupText.text = "Press a Key To Replace [" + names[1] + "] For The Bind [" + names[0] + ']'; bindKey = InputManager.GetKeyCode(currentBindKeyIndex); bindPopup.SetActive(true); }
void Bind() { if (!binding) { return; } InspectorBindResponse response = InspectorTools.GetBind(); if (response.keyCode != KeyCode.None) { currentBind.enumValueIndex = response.KeyCodeIndex; currentBind = null; currentIndex = null; binding = false; } }
internal static KeyCode GetKeyCode(BindKeyIndex index) { return(binds_s[index.Cat][index.Bind][index.Key]); }
internal void UpdateBind(BindKeyIndex index, KeyCode newKey) { binds_s[index.Cat].UpdateBind(index.Bind, index.Key, newKey); binds = binds_s; }