Files
sbox-public/game/addons/menu/Code/DevUI/DevMode/ConvarToggle.razor

44 lines
871 B
Plaintext

@namespace Sandbox.UI.Dev
@inherits Panel
<root>
@Title
</root>
@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();
}
}