public override void OnPostGUI()
        {
            base.OnPostGUI();

            DebugDisplayBase tab = _tabs[_currentTab];

            tab?.OnPostGUI();
        }
        public T RegisterDisplayAsPrimaryTab <T>() where T : DebugDisplayBase, new()
        {
            T type = new T();
            DebugDisplayBase display = type;

            _primaryDisplay.AddTab(display);

            return(type);
        }
        public T RegisterDisplay <T>() where T : DebugDisplayBase, new()
        {
            T type = new T();
            DebugDisplayBase display = type;

            _handler.AddDisplay(display);

            return(type);
        }
        public override void OnGUI()
        {
            StringBuilder.Clear();

            DebugDisplayBase tab = _tabs[_currentTab];

            // On Gui
            DrawText(_tabText, true);
            tab?.OnGUI();
        }
        public void AddTab(DebugDisplayBase a_display)
        {
            a_display.OnAdd(this);

            if (_tabs.Count == 0)
            {
                a_display.OnShow();
            }

            _tabs.Add(a_display);

            UpdateTabText();
        }
        private void ChangeTab(int a_tabIndex)
        {
            DebugDisplayBase oldTab = _tabs[_currentTab];

            _currentTab = a_tabIndex;

            DebugDisplayBase newTab = _tabs[_currentTab];

            if (newTab == oldTab)
            {
                return;
            }

            newTab.OnShow();
            newTab.Rect.sizeDelta = s_DefaultDisplaySize;
            UpdateTabText();
        }
        public override void OnUpdate()
        {
            DebugDisplayBase tab = _tabs[_currentTab];

            tab?.OnUpdate();
        }
 public void RegisterDisplayAsPrimaryTab(DebugDisplayBase a_display)
 {
     _primaryDisplay.AddTab(a_display);
 }
 public void RegisterDisplay(DebugDisplayBase a_display)
 {
     _handler.AddDisplay(a_display);
 }