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 { }