using Content.Server.Interfaces.GameObjects; using SS14.Server.Interfaces.GameObjects; using Content.Shared.GameObjects; using SS14.Shared.Interfaces.GameObjects; namespace Content.Server.GameObjects { public class ItemComponent : StoreableComponent, EntitySystems.IAttackHand { public override string Name => "Item"; public void RemovedFromSlot() { foreach (var component in Owner.GetAllComponents()) { component.Visible = true; } } public void EquippedToSlot() { foreach (var component in Owner.GetAllComponents()) { component.Visible = false; } } public bool Attackhand(IEntity user) { var hands = user.GetComponent(); hands.PutInHand(this, hands.ActiveIndex, fallback: false); return true; } [Verb] public sealed class PickUpVerb : Verb { protected override string GetText(IEntity user, ItemComponent component) { return "Pick Up"; } protected override bool IsDisabled(IEntity user, ItemComponent component) { return false; } protected override void Activate(IEntity user, ItemComponent component) { if (user.TryGetComponent(out HandsComponent hands)) { hands.PutInHand(component); } } } } }