private bool MovingToSpaceOpensContainer(Vector2 movePosition, ICreature creature)
{
IContainer containerAtPosition = GetContainerAtIndex(movePosition);
if (containerAtPosition != null)
{
if (containerAtPosition.IsLocked)
{
IItem key = creature.GetItemFromInventory(ItemTypes.OldKey);
if (key == null)
{
Announcer.Instance.Announce("Container is locked.", MessageTypes.Other);
return false;
}
Announcer.Instance.Announce(creature.Name + " used " + key.Name + ".", MessageTypes.Other);
key.Give(creature);
}
foreach (IItem item in containerAtPosition.Contents)
{
item.Get(creature);
}
containerAtPosition.Contents.Clear();
return true;
}
else
return false;
}