Example #1
0
        /// <summary>
        /// 添加附近的障碍点
        /// </summary>
        /// <param name="p"></param>
        public void AddNearBlock(Pos p)
        {
            var dist = (p - Pos).Length;
            var d    = dist - RobotObj.Size;

            if (d < 0)
            {
                NearToBlockCount++;
                return;
            }
            if (d == 0 || d <= RobotObj.SafeDist)
            {
                CloseToBlockDist.Add(d);
                return;
            }
        }
Example #2
0
        /// <summary>
        /// 删除附近的障碍点
        /// </summary>
        /// <param name="p"></param>
        public void RemoveNearBlock(Pos p)
        {
            var dist = (p - Pos).Length;
            var d    = dist - RobotObj.Size;

            if (d < 0 && NearToBlockCount > 0)
            {
                NearToBlockCount--;
                return;
            }


            if (d == 0 || d <= RobotObj.SafeDist)
            {
                CloseToBlockDist.Remove(d);
                return;
            }
        }