예제 #1
0
        /// <summary>
        /// Returns appropriate container from the player and provides correct position inside the container
        /// </summary>
        /// <param name="link"></param>
        /// <param name="position"></param>
        /// <param name="newPosition"></param>
        /// <returns></returns>
        public SlotContainer <ContainedSlot> FindContainer(EntityLink link, Vector2I position, out Vector2I newPosition)
        {
            newPosition = position;

            if (link.IsPointsTo(this))
            {
                if (position.X == -1)
                {
                    newPosition.X = 0;
                    return(Equipment);
                }
                return(Inventory);
            }
            if (link.IsStatic)
            {
                var entity = link.ResolveStatic(EntityFactory.LandscapeManager);
                if (entity == null)
                {
                    return(null);
                }
                return((entity as Container).Content);
            }
            return(null);
        }