mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-04-19 22:08:34 -04:00
44 lines
871 B
Plaintext
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();
|
|
}
|
|
|
|
}
|