ConsoleWindow.OnGUI C# (CSharp) Method

OnGUI() private method

private OnGUI ( ) : void
return void
    void OnGUI()
    {
        if(cmdEval == null) {
            Init ();
        }
        bool didComplete = false;
        bool ranCommand = false;
        if (Event.current.isKey && Event.current.type == EventType.KeyDown) {
            switch(Event.current.keyCode) {
            case KeyCode.Return:
                cmdEval.Eval();
                ranCommand = true;
                Event.current.Use();
                break;
            case KeyCode.Space:
                if(Event.current.control) {
                    didComplete = cmdEval.AutocompleteBuffer();
                }
                break;
            case KeyCode.UpArrow:
                    didComplete = cmdEval.UpHistory();
                break;
            case KeyCode.DownArrow:
                    didComplete = cmdEval.DownHistory();
                break;
            }
        }
        EditorGUILayout.BeginVertical();
        if(ranCommand) {
            scrollPos = new Vector2(0, float.MaxValue);
        }
        scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width (position.width), GUILayout.Height (position.height - 30));

        var oldFG = GUI.color;
        var oldBG = GUI.backgroundColor;
        GUI.color = cfg.foreground;
        GUI.backgroundColor = cfg.background;

        EditorGUILayout.TextArea(cmdEval.consoleText);
        EditorGUILayout.EndScrollView();
        cmdEval.commandText = GUILayout.TextField(cmdEval.commandText, GUILayout.Height (30));

        GUI.color = oldFG;
        GUI.backgroundColor = oldBG;

        if(didComplete) {
            TextEditor te = (TextEditor)GUIUtility.GetStateObject(typeof(TextEditor), GUIUtility.keyboardControl);
            if (te != null) {
                te.MoveCursorToPosition(new Vector2(5555, 5555));
            }
        }
        EditorGUILayout.EndVertical();
    }

Usage Example

Exemplo n.º 1
0
    void OnGUI()
    {
        if (!Enabled)
        {
            return;
        }

        Log.OnGUI();
        Cmd.OnGUI();
    }