Ejemplo n.º 1
0
    private void AutocompleteBind()
    {
        string[] split = InputField.text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

        if (split.Length == 1)
        {
            string[] completions = BindManager.GetBindKeyAutocompletions("");

            ListCompletions(completions.Where(i => !i.StartsWith("Joystick")).ToArray(), "Bind key", split[0]);
        }
        if (split.Length == 2)
        {
            string[] completions = BindManager.GetBindKeyAutocompletions(split[1]);

            if (completions.Length == 1)
            {
                InputField.text          = split[0] + " " + completions[0] + " ";
                InputField.caretPosition = InputField.text.Length;
            }
            else if (completions.Length > 0)
            {
                ListCompletions(completions, "Bind key", split[0]);
            }
            ResetScrollPosition();
        }
        else if (split.Length == 3)
        {
            string[] completions = CommandManager.GetCommandAutocompletions(split[2]);

            if (completions.Length == 1)
            {
                InputField.text          = split[0] + " " + split[1] + " " + completions[0] + " ";
                InputField.caretPosition = InputField.text.Length;
            }
            else if (completions.Length > 0)
            {
                ListCompletions(completions, "Bind command", split[0] + " " + split[1]);
            }
            ResetScrollPosition();
        }
    }