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);
        }
Esempio n. 3
0
        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;
 }