Exemple #1
0
        public static void CreatePresetBinding(enum_BindingsName name, enum_PressStatus status, params KeyCode[] codeList)
        {
            KeyBindings binding = new KeyBindings();

            binding.Name = name;
            binding.code = new List <KeyCode>();
            for (int i = 0; i < codeList.Length; i++)
            {
                binding.code.Add(codeList[i]);
            }
            binding.status           = status;
            binding.triggerEventVoid = null;
            binding.triggerEventBool = null;
            List_BindingList.Add(binding);
        }
Exemple #2
0
    void Update()
    {
        for (int i = 0; i < List_BindingList.Count; i++)
        {
            status  = List_BindingList[i].status;
            keyCode = List_BindingList[i].code;
            for (int j = 0; j < keyCode.Count; j++)
            {
                triggerd = false;
                switch (status)
                {
                case enum_PressStatus.Down:
                    if (Input.GetKeyDown(keyCode[j]))
                    {
                        List_BindingList[i].Trigger();
                        triggerd = true;
                    }
                    break;

                case enum_PressStatus.Up:
                    if (Input.GetKeyUp(keyCode[j]))
                    {
                        List_BindingList[i].Trigger();
                        triggerd = true;
                    }
                    break;

                case enum_PressStatus.Press:
                    if (Input.GetKey(keyCode[j]))
                    {
                        List_BindingList[i].Trigger();
                        triggerd = true;
                    }
                    break;

                case enum_PressStatus.Both:
                    if (Input.GetKeyDown(keyCode[j]))
                    {
                        List_BindingList[i].Trigger(true);
                        triggerd = true;
                    }
                    else if (Input.GetKeyUp(keyCode[j]))
                    {
                        List_BindingList[i].Trigger(false);
                        triggerd = true;
                    }
                    break;

                default:
                    Debug.LogError("How A None Status Binding Set?");
                    break;
                }

                keyName = List_BindingList[i].Name;
                switch (keyName)
                {
                case enum_BindingsName.Up:
                    up = Input.GetKey(keyCode[j]) ? 1 : 0;
                    break;

                case enum_BindingsName.Down:
                    down = Input.GetKey(keyCode[j]) ? 1 : 0;
                    break;

                case enum_BindingsName.Left:
                    left = Input.GetKey(keyCode[j]) ? 1 : 0;
                    break;

                case enum_BindingsName.Right:
                    right = Input.GetKey(keyCode[j]) ? 1 : 0;
                    break;
                }

                if (triggerd)
                {
                    break;
                }
            }
        }
        m_MovementDelta = new Vector2(right - left, up - down);
        m_RotateDelta   = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
    }