public void PickUpItem(World world) { ItemPickup itemPickup = (ItemPickup)world.BoxCastAll(CurrentRoom, PositionInRoom, Size).Find(x => x is ItemPickup); if (itemPickup != null) { Item itemToPickUp = itemPickup.PickupItem(world); Item itemToDrop = ChangeEquipment(itemToPickUp, world.WorldRenderer); if (itemToDrop != null) { world.AddEntity(new ItemPickup(itemToDrop), itemPickup.CurrentRoom, itemPickup.PositionInRoom); } } }