private bool TryInsertPen(InteractUsingEventArgs eventArgs) { var item = eventArgs.Using; if (_penSlot.Contains(item)) { return(false); } if (!eventArgs.User.TryGetComponent(out IHandsComponent? hands)) { Owner.PopupMessage(eventArgs.User, Loc.GetString("comp-pda-ui-try-insert-pen-no-hands")); return(true); } IEntity?swap = null; if (!PenSlotEmpty) { // Swap swap = _penSlot.ContainedEntities[0]; } if (!hands.Drop(item)) { return(true); } if (swap != null) { hands.PutInHand(swap.GetComponent <ItemComponent>()); } // Insert Pen _penSlot.Insert(item); UpdatePDAUserInterface(); return(true); }
private bool TryInsertIdCard(InteractUsingEventArgs eventArgs, IdCardComponent idCardComponent) { var item = eventArgs.Using; if (_idSlot.Contains(item)) { return(false); } if (!eventArgs.User.TryGetComponent(out IHandsComponent? hands)) { Owner.PopupMessage(eventArgs.User, Loc.GetString("You have no hands!")); return(true); } IEntity?swap = null; if (!IdSlotEmpty) { // Swap swap = _idSlot.ContainedEntities[0]; } if (!hands.Drop(item)) { return(true); } if (swap != null) { hands.PutInHand(swap.GetComponent <ItemComponent>()); } InsertIdCard(idCardComponent); UpdatePDAUserInterface(); return(true); }