using System.Threading;
using Content.Shared.Mech.Components;
namespace Content.Shared.Mech.Equipment.Components;
///
/// A piece of equipment that can be installed into
///
[RegisterComponent]
public sealed class MechEquipmentComponent : Component
{
///
/// How long does it take to install this piece of equipment
///
[DataField("installDuration")]
public float InstallDuration = 5;
///
/// The mech that the equipment is inside of.
///
[ViewVariables]
public EntityUid? EquipmentOwner;
public CancellationTokenSource? TokenSource = null;
}
///
/// Raised on the equipment when the installation is finished successfully
///
public sealed class MechEquipmentInstallFinished : EntityEventArgs
{
public EntityUid Mech;
public MechEquipmentInstallFinished(EntityUid mech)
{
Mech = mech;
}
}
///
/// Raised on the equipment when the installation fails.
///
public sealed class MechEquipmentInstallCancelled : EntityEventArgs
{
}