private void OnExamined(EntityUid uid, PaperLabelComponent comp, ExaminedEvent args) { if (comp.LabelSlot.Item is not { Valid : true } item) { return; } if (!args.IsInDetailsRange) { args.PushMarkup(Loc.GetString("comp-paper-label-has-label-cant-read")); return; } if (!EntityManager.TryGetComponent(item, out PaperComponent paper)) { // Assuming yaml has the correct entity whitelist, this should not happen. return; } if (string.IsNullOrWhiteSpace(paper.Content)) { args.PushMarkup(Loc.GetString("comp-paper-label-has-label-blank")); return; } args.PushMarkup(Loc.GetString("comp-paper-label-has-label")); var text = paper.Content; args.PushMarkup(text.TrimEnd()); }
private void OnComponentInit(EntityUid uid, PaperLabelComponent component, ComponentInit args) { _itemSlotsSystem.AddItemSlot(uid, component.Name, component.LabelSlot); if (!EntityManager.TryGetComponent(uid, out AppearanceComponent appearance)) { return; } appearance.SetData(PaperLabelVisuals.HasLabel, false); }
private void OnContainerModified(EntityUid uid, PaperLabelComponent label, ContainerModifiedMessage args) { if (args.Container.ID != label.LabelSlot.ID) { return; } if (!EntityManager.TryGetComponent(uid, out AppearanceComponent appearance)) { return; } appearance.SetData(PaperLabelVisuals.HasLabel, label.LabelSlot.HasItem); }
private void OnComponentRemove(EntityUid uid, PaperLabelComponent component, ComponentRemove args) { _itemSlotsSystem.RemoveItemSlot(uid, component.LabelSlot); }