@namespace Sandbox.UI.Dev @inherits Panel @Title @code { [Parameter] public string Title { get; set; } [Parameter] public string ConVar { get; set; } [Parameter] public string On { get; set; } = "1"; [Parameter] public string Off { get; set; } = "0"; public void Toggle() { if ( ConVar == null ) return; var val = ConsoleSystem.GetValue( ConVar ); var status = String.Equals( val, On, StringComparison.OrdinalIgnoreCase ); ConsoleSystem.Run(ConVar, status ? Off : On); } public override void Tick() { base.Tick(); if ( ConVar == null ) return; var val = ConsoleSystem.GetValue( ConVar ); if ( val == null ) return; SetClass( "active", String.Equals( val, On, StringComparison.OrdinalIgnoreCase ) ); } protected override void OnClick(MousePanelEvent e) { Toggle(); } }