using Robust.Client.Graphics; namespace Content.Client.Light.EntitySystems; public sealed class PlanetLightSystem : EntitySystem { [Dependency] private readonly IOverlayManager _overlayMan = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnClearColor); _overlayMan.AddOverlay(new BeforeLightTargetOverlay()); _overlayMan.AddOverlay(new RoofOverlay(EntityManager)); _overlayMan.AddOverlay(new TileEmissionOverlay(EntityManager)); _overlayMan.AddOverlay(new LightBlurOverlay()); _overlayMan.AddOverlay(new SunShadowOverlay()); _overlayMan.AddOverlay(new AfterLightTargetOverlay()); } private void OnClearColor(ref GetClearColorEvent ev) { ev.Color = Color.Transparent; } public override void Shutdown() { base.Shutdown(); _overlayMan.RemoveOverlay(); _overlayMan.RemoveOverlay(); _overlayMan.RemoveOverlay(); _overlayMan.RemoveOverlay(); _overlayMan.RemoveOverlay(); _overlayMan.RemoveOverlay(); } }