| 123456789101112131415161718192021222324252627282930313233 |
- using Content.Server.Light.Components;
- using Content.Shared.Light.EntitySystems;
- using Robust.Shared.Map.Components;
- namespace Content.Server.Light.EntitySystems;
- /// <inheritdoc/>
- public sealed class RoofSystem : SharedRoofSystem
- {
- [Dependency] private readonly SharedMapSystem _maps = default!;
- private EntityQuery<MapGridComponent> _gridQuery;
- public override void Initialize()
- {
- base.Initialize();
- _gridQuery = GetEntityQuery<MapGridComponent>();
- SubscribeLocalEvent<SetRoofComponent, ComponentStartup>(OnFlagStartup);
- }
- private void OnFlagStartup(Entity<SetRoofComponent> ent, ref ComponentStartup args)
- {
- var xform = Transform(ent.Owner);
- if (_gridQuery.TryComp(xform.GridUid, out var grid))
- {
- var index = _maps.LocalToTile(xform.GridUid.Value, grid, xform.Coordinates);
- SetRoof((xform.GridUid.Value, grid, null), index, ent.Comp.Value);
- }
- QueueDel(ent.Owner);
- }
- }
|