/// <summary>
        /// Проверка возможности размещения в данной клетке объекта
        /// </summary>
        /// <param name="ActiveObject">Объект</param>
        /// <param name="Position">Координаты</param>
        /// <param name="IgnoreNorth">Игнорируется ли северная стена</param>
        /// <param name="IgnoreSouth">Мгнорируется ли южная стена</param>
        /// <param name="IgnoreWest">Игнорируется ли западная стена</param>
        /// <param name="IgnoreEast">Игнорируется ли восточная стена</param>
        /// <returns>Возможно ли разместить объект в данной клетке</returns>
        private bool CheckCell(MapActiveObject ActiveObject, MapPoint Position, bool IgnoreNorth, bool IgnoreSouth, bool IgnoreWest, bool IgnoreEast)
        {
            MapCellState cell = Levels[Position.Level].Cells[Position];

            if ((cell.Place != null) && (cell.Place.Passability < ActiveObject.Passability))
            {
                return(false);
            }
            if (!IgnoreNorth && (cell.GetPassbilityByDirection(MapDirection.North) < ActiveObject.Passability))
            {
                return(false);
            }
            if (!IgnoreSouth && (cell.GetPassbilityByDirection(MapDirection.South) < ActiveObject.Passability))
            {
                return(false);
            }
            if (!IgnoreWest && (cell.GetPassbilityByDirection(MapDirection.West) < ActiveObject.Passability))
            {
                return(false);
            }
            if (!IgnoreEast && (cell.GetPassbilityByDirection(MapDirection.East) < ActiveObject.Passability))
            {
                return(false);
            }
            return(true);
        }