DodongosQuest.World.MovingToSpaceOpensContainer C# (CSharp) Method

MovingToSpaceOpensContainer() private method

private MovingToSpaceOpensContainer ( Vector2 movePosition, ICreature creature ) : bool
movePosition Vector2
creature ICreature
return bool
        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;
        }