namespace SRDebugger.Services
{
    using System;
    public interface IDebugPanelService
    {
        /// 
        /// Is the debug panel currently loaded into the scene
        /// 
        bool IsLoaded { get; }
        /// 
        /// Get or set whether the debug pane should be visible
        /// 
        bool IsVisible { get; set; }
        /// 
        /// Currently active tab (if available in DefaultTabs, otherwise null)
        /// 
        DefaultTabs? ActiveTab { get; }
        event Action VisibilityChanged;
        /// 
        /// Force the debug panel to unload from the scene
        /// 
        void Unload();
        /// 
        /// Open the given tab
        /// 
        /// 
        void OpenTab(DefaultTabs tab);
    }
}