/// <summary>Updates logs from controller</summary>
 public virtual void RefreshLogs()
 {
     if (logText == null)
     {
         return;
     }
     logText.text = GameConsoleController.LogsToString(logLimit);
     if (IsScrollSnapped)
     {
         ResetScroll();
     }
 }
        public virtual void Awake()
        {
            if (init)
            {
                return;
            }

            init = true;

            toggler = GetComponent <Toggler>();
            if (toggler != null)
            {
                toggler.OnChangeState.AddListener(OnChangeState);
            }

            GameConsoleController.AssignConfig(ConsoleConfig);
            GameConsoleController.OnLog += _ => RefreshLogs();
            RefreshLogs();
        }
        public virtual void RunCommand()
        {
            DiscardPreviousCommand();
            StartCoroutine(Reselect());
            if (inputField == null)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(inputField.text))
            {
                ResetScroll();
                return;
            }

            GameConsoleController.Log(inputField.text, "default", Logic.GameConsoleLog.LogType.User);
            GameConsoleController.RunCommand(inputField.text);
            inputField.SetTextWithoutNotify(string.Empty);
            RefreshLogs();
            ResetScroll();
        }