using Content.Client.Wires.Visualizers;
using Content.Shared.Doors.Components;
using Content.Shared.Doors.Systems;
+using Content.Shared.Power;
using Robust.Client.Animations;
using Robust.Client.GameObjects;
if (!_appearanceSystem.TryGetData<DoorState>(uid, DoorVisuals.State, out var state, args.Component))
state = DoorState.Closed;
- if (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.Powered, out var powered, args.Component) && powered)
+ if (_appearanceSystem.TryGetData<bool>(uid, PowerDeviceVisuals.Powered, out var powered, args.Component)
+ && powered)
{
boltedVisible = _appearanceSystem.TryGetData<bool>(uid, DoorVisuals.BoltLights, out var lights, args.Component)
&& lights && (state == DoorState.Closed || state == DoorState.Welded);
{
base.Initialize();
- SubscribeLocalEvent<AirlockComponent, ComponentInit>(OnAirlockInit);
SubscribeLocalEvent<AirlockComponent, SignalReceivedEvent>(OnSignalReceived);
SubscribeLocalEvent<AirlockComponent, PowerChangedEvent>(OnPowerChanged);
SubscribeLocalEvent<AirlockComponent, ActivateInWorldEvent>(OnActivate, before: new[] { typeof(DoorSystem) });
}
- private void OnAirlockInit(EntityUid uid, AirlockComponent component, ComponentInit args)
- {
- if (TryComp<ApcPowerReceiverComponent>(uid, out var receiverComponent))
- {
- Appearance.SetData(uid, DoorVisuals.Powered, receiverComponent.Powered);
- }
- }
-
private void OnSignalReceived(EntityUid uid, AirlockComponent component, ref SignalReceivedEvent args)
{
if (args.Port == component.AutoClosePort && component.AutoClose)
component.Powered = args.Powered;
Dirty(uid, component);
- if (TryComp<AppearanceComponent>(uid, out var appearanceComponent))
- {
- Appearance.SetData(uid, DoorVisuals.Powered, args.Powered, appearanceComponent);
- }
-
if (!TryComp(uid, out DoorComponent? door))
return;
private void PowerChanged(EntityUid uid, FirelockComponent component, ref PowerChangedEvent args)
{
- // TODO this should REALLLLY not be door specific appearance thing.
- _appearance.SetData(uid, DoorVisuals.Powered, args.Powered);
component.Powered = args.Powered;
Dirty(uid, component);
}