示例#1
0
        // Creates the UI control that accepts text input
        private void CreateConsoleControls()
        {
            // ConsoleBox
            {
                ConsoleBox      = new VBoxContainer();
                ConsoleBox.Name = nameof(ConsoleBox);
                ConsoleBox.SetAnchor(0, 0, 1, 1);
                ConsoleBox.Alignment = BoxContainer.AlignMode.End;
                AddChild(ConsoleBox);
            }

            // HistoryHelpContainer
            {
                HistoryHelpContainer      = new PanelContainer();
                HistoryHelpContainer.Name = nameof(HistoryHelpContainer);
                ConsoleBox.AddChild(HistoryHelpContainer);
                HistoryHelpContainer.Visible = false;
            }

            // HistoryHelpBox
            {
                HistoryHelpBox      = new VBoxContainer();
                HistoryHelpBox.Name = nameof(HistoryHelpBox);
                HistoryHelpContainer.AddChild(HistoryHelpBox);
            }

            // ConsoleInput
            {
                ConsoleInput      = new LineEdit();
                ConsoleInput.Name = nameof(ConsoleInput);
                ConsoleBox.AddChild(ConsoleInput);

                ConsoleInput.ContextMenuEnabled = false;
                ConsoleInput.Connect("text_entered", this, nameof(OnCommandEntered));
                ConsoleInput.Connect("text_changed", this, nameof(OnCommandChanged));
                ConsoleInput.GrabFocus();
            }
        }