CatStation/Content.Client/NPC/HTN/HTNSystem.cs
DrSmugleaf 65f5f67cd5
Make every EntitySystem partial (#45220)
* Make every EntitySystem partial

* Oobs thats for a diff PR

* Also oops on that one

* Test systems

* git are we fr

* Update file templates

* cleanup empty classes while we are here

* forgor

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-14 18:24:47 +00:00

54 lines
1.3 KiB
C#

using Content.Shared.NPC;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
namespace Content.Client.NPC.HTN;
public sealed partial class HTNSystem : EntitySystem
{
/*
* Mainly handles clientside debugging for HTN NPCs.
*/
public bool EnableOverlay
{
get => _enableOverlay;
set
{
var overlayManager = IoCManager.Resolve<IOverlayManager>();
_enableOverlay = value;
if (_enableOverlay)
{
overlayManager.AddOverlay(new HTNOverlay(EntityManager, IoCManager.Resolve<IResourceCache>()));
RaiseNetworkEvent(new RequestHTNMessage()
{
Enabled = true,
});
}
else
{
overlayManager.RemoveOverlay<HTNOverlay>();
RaiseNetworkEvent(new RequestHTNMessage()
{
Enabled = false,
});
}
}
}
private bool _enableOverlay;
public override void Initialize()
{
base.Initialize();
SubscribeNetworkEvent<HTNMessage>(OnHTNMessage);
}
private void OnHTNMessage(HTNMessage ev)
{
if (!TryComp<HTNComponent>(GetEntity(ev.Uid), out var htn))
return;
htn.DebugText = ev.Text;
}
}