Hallway textscreens (#24189)

* hallway screen refactor pending comms console support

* comms console broadcasts

* screen and timer localization
This commit is contained in:
avery
2024-01-27 05:51:24 -08:00
committed by GitHub
parent a923beb21b
commit 7e16ee0b55
23 changed files with 318 additions and 142 deletions

View File

@@ -8,6 +8,7 @@ using Content.Server.DeviceNetwork;
using Content.Server.DeviceNetwork.Components;
using Content.Server.DeviceNetwork.Systems;
using Content.Server.GameTicking;
using Content.Server.Screens.Components;
using Content.Server.Shuttles.Components;
using Content.Server.Shuttles.Systems;
using Content.Server.Station.Components;
@@ -16,7 +17,6 @@ using Content.Shared.Database;
using Content.Shared.GameTicking;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Configuration;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
@@ -34,14 +34,11 @@ namespace Content.Server.RoundEnd
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IChatManager _chatManager = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IPrototypeManager _protoManager = default!;
[Dependency] private readonly ChatSystem _chatSystem = default!;
[Dependency] private readonly GameTicker _gameTicker = default!;
[Dependency] private readonly DeviceNetworkSystem _deviceNetworkSystem = default!;
[Dependency] private readonly EmergencyShuttleSystem _shuttle = default!;
[Dependency] private readonly ShuttleTimerSystem _shuttleTimerSystem = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly StationSystem _stationSystem = default!;
@@ -112,13 +109,9 @@ namespace Content.Server.RoundEnd
/// </summary>
public EntityUid? GetCentcomm()
{
if (AllEntityQuery<StationCentcommComponent, TransformComponent>()
.MoveNext(out var centcomm, out var xform))
{
return xform.MapUid;
}
AllEntityQuery<StationCentcommComponent>().MoveNext(out var centcomm);
return null;
return centcomm == null ? null : centcomm.MapEntity;
}
public bool CanCallOrRecall()
@@ -243,7 +236,7 @@ namespace Content.Server.RoundEnd
ActivateCooldown();
RaiseLocalEvent(RoundEndSystemChangedEvent.Default);
// remove all active shuttle timers
// remove active clientside evac shuttle timers by zeroing the target time
var zero = TimeSpan.Zero;
var shuttle = _shuttle.GetShuttle();
if (shuttle != null && TryComp<DeviceNetworkComponent>(shuttle, out var net))
@@ -256,7 +249,6 @@ namespace Content.Server.RoundEnd
[ShuttleTimerMasks.ShuttleTime] = zero,
[ShuttleTimerMasks.SourceTime] = zero,
[ShuttleTimerMasks.DestTime] = zero,
[ShuttleTimerMasks.Text] = new string?[] { string.Empty, string.Empty }
};
_deviceNetworkSystem.QueuePacket(shuttle.Value, null, payload, net.TransmitFrequency);
}