Files
tbd-station-14/Content.Server/Doors/DoorEvents.cs
mirrorcult af2e21c355 Refactor IDoorCheck into entity events (#4366)
* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today
2021-08-02 21:57:06 +10:00

142 lines
3.8 KiB
C#

#nullable enable
using System;
using Content.Shared.Doors;
using Content.Shared.Interaction;
using Robust.Shared.GameObjects;
namespace Content.Server.Doors
{
/// <summary>
/// Raised when the door's State variable is changed to a new variable that it was not equal to before.
/// </summary>
public class DoorStateChangedEvent : EntityEventArgs
{
public SharedDoorComponent.DoorState State;
public DoorStateChangedEvent(SharedDoorComponent.DoorState state)
{
State = state;
}
}
/// <summary>
/// Raised when the door is determining whether it is able to open.
/// Cancel to stop the door from being opened.
/// </summary>
public class BeforeDoorOpenedEvent : CancellableEntityEventArgs
{
}
/// <summary>
/// Raised when the door is successfully opened.
/// </summary>
public class OnDoorOpenedEvent : HandledEntityEventArgs
{
}
/// <summary>
/// Raised when the door is determining whether it is able to close.
/// Cancel to stop the door from being closed.
/// </summary>
public class BeforeDoorClosedEvent : CancellableEntityEventArgs
{
}
/// <summary>
/// Raised when the door is successfully closed.
/// </summary>
public class OnDoorClosedEvent : HandledEntityEventArgs
{
}
/// <summary>
/// Called when the door is determining whether it is able to deny.
/// Cancel to stop the door from being able to deny.
/// </summary>
public class BeforeDoorDeniedEvent : CancellableEntityEventArgs
{
}
/// <summary>
/// Raised when access to the door is denied.
/// </summary>
public class OnDoorDeniedEvent : HandledEntityEventArgs
{
}
/// <summary>
/// Raised to determine whether the door's safety is on.
/// Modify Safety to set the door's safety.
/// </summary>
public class DoorSafetyEnabledEvent : HandledEntityEventArgs
{
public bool Safety = false;
}
/// <summary>
/// Raised to determine whether the door should automatically close.
/// Cancel to stop it from automatically closing.
/// </summary>
public class BeforeDoorAutoCloseEvent : CancellableEntityEventArgs
{
}
/// <summary>
/// Raised to determine how long the door's pry time should be modified by.
/// Multiply PryTimeModifier by the desired amount.
/// </summary>
public class DoorGetPryTimeModifierEvent : EntityEventArgs
{
public float PryTimeModifier = 1.0f;
}
/// <summary>
/// Raised to determine how long the door's close time should be modified by.
/// Multiply CloseTimeModifier by the desired amount.
/// </summary>
public class DoorGetCloseTimeModifierEvent : EntityEventArgs
{
public float CloseTimeModifier = 1.0f;
}
/// <summary>
/// Raised to determine whether clicking the door should open/close it.
/// </summary>
public class DoorClickShouldActivateEvent : HandledEntityEventArgs
{
public ActivateEventArgs Args;
public DoorClickShouldActivateEvent(ActivateEventArgs args)
{
Args = args;
}
}
/// <summary>
/// Raised when an attempt to pry open the door is made.
/// Cancel to stop the door from being pried open.
/// </summary>
public class BeforeDoorPryEvent : CancellableEntityEventArgs
{
public InteractUsingEventArgs Args;
public BeforeDoorPryEvent(InteractUsingEventArgs args)
{
Args = args;
}
}
/// <summary>
/// Raised when a door is successfully pried open.
/// </summary>
public class OnDoorPryEvent : EntityEventArgs
{
public InteractUsingEventArgs Args;
public OnDoorPryEvent(InteractUsingEventArgs args)
{
Args = args;
}
}
}