UI/SpawnMenu/AiSettingsPage.razor
@using Sandbox;
@using Sandbox.UI;
@using Sandbox.Npcs;
@inherits UtilityPage
@namespace Sandbox
@attribute [Icon( "🤖" )]
@attribute [Title( "#spawnmenu.utility.npcs" )]
@attribute [Group( "#spawnmenu.utility.group.world" )]
@attribute [Order( 1 )]

<root class="page" style="flex-direction: column;">
    @if ( Connection.Local.HasPermission( "admin" ) )
    {
        <div class="control-row" Tooltip=@EnabledDescription @onclick=@ToggleAiEnabled>
            <div class="left"><label>@(NpcConVars.Enabled ? "🟢" : "🔴") </label><label>#spawnmenu.utility.ai_enabled</label></div>
            <div style="flex-grow: 1;"></div>
            <label class="right">@(NpcConVars.Enabled ? "#spawnmenu.common.on" : "#spawnmenu.common.off")</label>
        </div>

        <div class="control-row" Tooltip=@NoTargetDescription @onclick=@ToggleNoTarget>
            <div class="left"><label>@(NpcConVars.NoTarget ? "🟢" : "⚪") </label><label>#spawnmenu.utility.no_target</label></div>
            <div style="flex-grow: 1;"></div>
            <label class="right">@(NpcConVars.NoTarget ? "#spawnmenu.common.on" : "#spawnmenu.common.off")</label>
        </div>
    }
    else
    {
        <div class="control-row">
            <div class="left"><label>⚠️ </label><label>#spawnmenu.common.host_only</label></div>
        </div>
    }
</root>

@code
{
    public override bool IsPageVisible() => Connection.Local.HasPermission( "admin" );

    static readonly string EnabledDescription = "#spawnmenu.utility.ai_enabled_description";
    static readonly string NoTargetDescription = "#spawnmenu.utility.no_target_description";

    void ToggleAiEnabled() => GameManager.SetConVar( "sb.ai.enabled", !NpcConVars.Enabled );
    void ToggleNoTarget() => GameManager.SetConVar( "sb.ai.notarget", !NpcConVars.NoTarget );
}