コード例 #1
0
        public void RevealShroud(Point point)
        {
            if (!ShroudActive)
            {
                return;
            }

            // start simple, reveal in all directions
            var minX = GetSafeXValue(point.X - ShroudRevealDistance);
            var minY = GetSafeYValue(point.Y - ShroudRevealDistance);
            var maxX = GetSafeXValue(point.X + ShroudRevealDistance);
            var maxY = GetSafeYValue(point.Y + ShroudRevealDistance);

            for (var x = minX; x <= maxX; x++)
            {
                for (var y = minY; y <= maxY; y++)
                {
                    var p = new Point(x, y);

                    if (!ShroudRevealedPoints.Contains(p))
                    {
                        ShroudRevealedPoints.Add(p);
                    }
                }
            }
        }