Пример #1
0
        public static GameConsoleInterface CreateInterface(GameObject target, TextMeshProUGUI text, TMP_InputField input, ScrollRect scroll)
        {
            GameConsoleInterface console = target.AddComponent <GameConsoleInterface>();

            console.logText    = text;
            console.inputField = input;
            console.scrollRect = scroll;

            return(console);
        }
Пример #2
0
        public override void OnInspectorGUI()
        {
            GameConsoleInterface script = (GameConsoleInterface)target;

            qGUIInternalUtility.DrawqASICBanner();

            DrawContents();
            EditorGUILayout.Space();

            if (GUILayout.Button("Refresh"))
            {
                script.RefreshLogs();
            }
        }
Пример #3
0
        static void CreateConsole()
        {
            GameObject consoleObject = new GameObject("Game console");
            GameObject canvasObject  = CreateCanvas(consoleObject.transform, "Canvas", 10).gameObject;

            CreateImageObject(canvasObject.transform, new Color(0f, 0f, 0f, 0.5f), "Fade");

            RectTransform body = CreateImageObject(canvasObject.transform, new Color(0f, 0f, 0f), "Body").rectTransform;

            body.offsetMin = new Vector2(100f, 100f);
            body.offsetMax = new Vector2(-100f, -100f);

            TextMeshProUGUI text = CreateTextObject(null, "Text", 40);

            text.gameObject.AddComponent <ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;

            ScrollRect    scroll      = CreateScroll(body, text.rectTransform);
            RectTransform scrollTrans = scroll.GetComponent <RectTransform>();

            text.rectTransform.offsetMin = new Vector2(10f, 0f);
            text.rectTransform.offsetMax = new Vector2(-10f, 0f);
            scrollTrans.offsetMin        = new Vector2(scrollTrans.offsetMin.x, 100f);

            TMP_InputField field      = CreateInputField(body, Color.white);
            RectTransform  fieldTrans = field.GetComponent <RectTransform>();

            SetAnchors(fieldTrans, new Vector2(0f, 0f), new Vector2(1f, 0f));

            fieldTrans.sizeDelta        = new Vector2(fieldTrans.sizeDelta.x, 100f);
            fieldTrans.anchoredPosition = new Vector2(fieldTrans.anchoredPosition.x, 50);

            CreateToggler(consoleObject, "console", canvasObject).key =
#if ENABLE_INPUT_SYSTEM
                UnityEngine.InputSystem.Key.Backquote;
#else
                KeyCode.BackQuote;
#endif

            GameConsoleInterface consoleScript = CreateInterface(consoleObject, text, field, scroll);

            field.onValueChanged.AddListener(_ => consoleScript.DiscardPreviousCommand());

            canvasObject.SetActive(false);

            CheckForEventSystem();

            FinishObject(consoleObject);
        }