Adds emergency access to airlocks (#6500)
This commit is contained in:
committed by
GitHub
parent
21e0cd4256
commit
50b1af08a2
@@ -204,7 +204,8 @@ public enum DoorVisuals
|
||||
{
|
||||
State,
|
||||
Powered,
|
||||
BoltLights
|
||||
BoltLights,
|
||||
EmergencyLights,
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
|
||||
@@ -13,6 +13,10 @@ public abstract class SharedAirlockComponent : Component
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField("safety")]
|
||||
public bool Safety = true;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField("emergencyAccess")]
|
||||
public bool EmergencyAccess = false;
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
|
||||
@@ -38,4 +38,19 @@ public abstract class SharedAirlockSystem : EntitySystem
|
||||
if (airlock.Safety && DoorSystem.GetColliding(uid).Any())
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
|
||||
public void UpdateEmergencyLightStatus(SharedAirlockComponent component)
|
||||
{
|
||||
if (TryComp<AppearanceComponent>(component.Owner, out var appearanceComponent))
|
||||
{
|
||||
appearanceComponent.SetData(DoorVisuals.EmergencyLights, component.EmergencyAccess);
|
||||
}
|
||||
}
|
||||
|
||||
public void ToggleEmergencyAccess(SharedAirlockComponent component)
|
||||
{
|
||||
component.EmergencyAccess = !component.EmergencyAccess;
|
||||
UpdateEmergencyLightStatus(component);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user