Пример #1
0
        public bool IsKeyUsedInAnyAction(KeyCode key, out KeyUsageResult usage)
        {
            usage = new KeyUsageResult();

            for (int ai = 0; ai < m_actions.Count; ai++)
            {
                for (int bi = 0; bi < m_actions[ai].Bindings.Count; bi++)
                {
                    InputBinding binding        = m_actions[ai].Bindings[bi];
                    bool         isTheRightType = binding.Type == InputType.Button || binding.Type == InputType.DigitalAxis;
                    bool         isUsingTheKey  = binding.Positive == key || binding.Negative == key;

                    if (isTheRightType && isUsingTheKey)
                    {
                        usage = new KeyUsageResult
                        {
                            ControlSchemeName = m_name,
                            ActionIndex       = ai,
                            BindingIndex      = bi
                        };

                        return(true);
                    }
                }
            }

            return(false);
        }
Пример #2
0
        public static bool IsKeyUsedInAnyControlScheme(KeyCode key, out KeyUsageResult usage)
        {
            usage = KeyUsageResult.None;

            foreach (var scheme in m_instance.m_controlSchemes)
            {
                if (scheme.IsKeyUsedInAnyAction(key, out usage))
                {
                    return(true);
                }
            }

            return(false);
        }
Пример #3
0
        public static bool IsKeyUsedInControlScheme(string controlSchemeName, KeyCode key, out KeyUsageResult usage)
        {
            ControlScheme scheme = GetControlScheme(controlSchemeName);

            usage = KeyUsageResult.None;

            return(scheme != null?scheme.IsKeyUsedInAnyAction(key, out usage) : false);
        }