private void OnItemSlotChanged(EntityUid uid, PDAComponent pda, ItemSlotChangedEvent args) { // check if ID slot changed if (args.SlotName == pda.IdSlot) { var item = args.ContainedItem; if (item == null || !EntityManager.TryGetComponent(item.Value, out IdCardComponent ? idCard)) { pda.ContainedID = null; } else { pda.ContainedID = idCard; } } else if (args.SlotName == pda.PenSlot) { var item = args.ContainedItem; pda.PenInserted = item != null; } UpdatePDAAppearance(pda); UpdatePDAUserInterface(pda); }
private void OnItemSlotChanged(EntityUid uid, ItemCabinetComponent cabinet, ItemSlotChangedEvent args) { UpdateAppearance(uid, cabinet, args.SlotsComponent); }
private void OnMagazineSlotChange(EntityUid uid, MagazineAmmoProviderComponent component, ref ItemSlotChangedEvent args) { UpdateAmmoCount(uid); if (!TryComp <AppearanceComponent>(uid, out var appearance)) { return; } appearance.SetData(AmmoVisuals.MagLoaded, GetMagazineEntity(uid) != null); }