namespace Content.Shared.Inventory.Events;
public abstract class EquippedEventBase : EntityEventArgs
{
///
/// The entity equipping.
///
public readonly EntityUid Equipee;
///
/// The entity which got equipped.
///
public readonly EntityUid Equipment;
///
/// The slot the entity got equipped to.
///
public readonly string Slot;
///
/// The slot group the entity got equipped in.
///
public readonly string SlotGroup;
///
/// Slotflags of the slot the entity just got equipped to.
///
public readonly SlotFlags SlotFlags;
public EquippedEventBase(EntityUid equipee, EntityUid equipment, SlotDefinition slotDefinition)
{
Equipee = equipee;
Equipment = equipment;
Slot = slotDefinition.Name;
SlotGroup = slotDefinition.SlotGroup;
SlotFlags = slotDefinition.SlotFlags;
}
}
///
/// Raised directed on an equipee when something is equipped.
///
public sealed class DidEquipEvent : EquippedEventBase
{
public DidEquipEvent(EntityUid equipee, EntityUid equipment, SlotDefinition slotDefinition) : base(equipee, equipment, slotDefinition)
{
}
}
///
/// Raised directed on equipment when it's equipped to an equipee
///
public sealed class GotEquippedEvent : EquippedEventBase
{
public GotEquippedEvent(EntityUid equipee, EntityUid equipment, SlotDefinition slotDefinition) : base(equipee, equipment, slotDefinition)
{
}
}