Пример #1
0
    public void FindTiles_DiagonalIrregular()
    {
        tiles = Bresenham.FindTiles(
            new Vector2(3f, 5f),
            new Vector2(0f, 0f),
            1
            );

        // looks about right
    }
Пример #2
0
    public void FindTiles_HorizontalRightNext()
    {
        tiles = Bresenham.FindTiles(
            new Vector2(.5f, .5f),
            new Vector2(1.5f, .5f),
            1
            );

        Assert.True(Contains(0, 0));
        Assert.True(Contains(1, 0));
        Assert.AreEqual(2, tiles.Count);
    }
Пример #3
0
    public void FindTiles_Diagonal()
    {
        tiles = Bresenham.FindTiles(
            new Vector2(.5f, .5f),
            new Vector2(4.5f, 4.5f),
            1
            );

        Assert.True(Contains(1, 1));
        Assert.True(Contains(2, 2));
        Assert.True(Contains(3, 3));
        Assert.True(Contains(4, 4));
    }
Пример #4
0
 public void FindTiles_PerfectVerticalReverse()
 {
     tiles = Bresenham.FindTiles(
         new Vector2(.5f, 4.5f),
         new Vector2(.5f, .5f),
         1
         );
     Assert.True(Contains(0, 1));
     Assert.True(Contains(0, 2));
     Assert.True(Contains(0, 3));
     Assert.True(Contains(0, 4));
     Assert.AreEqual(5, tiles.Count);
 }
Пример #5
0
    public void FindTiles_PerfectHorizontalReverse()
    {
        tiles = Bresenham.FindTiles(
            new Vector2(4.5f, .5f),
            new Vector2(.5f, .5f),
            1
            );

        Assert.True(Contains(1, 0));
        Assert.True(Contains(2, 0));
        Assert.True(Contains(3, 0));
        Assert.True(Contains(4, 0));
        Assert.AreEqual(5, tiles.Count);
    }
Пример #6
0
 public void FindTiles_Same()
 {
     tiles = Bresenham.FindTiles(
         new Vector2(.5f, .6f),
         new Vector2(.5f, .5f),
         1
         );
     tiles.ForEach(t =>
     {
         // Debug.Log(t.ToString());
     });
     Assert.True(Contains(0, 0));
     Assert.AreEqual(1, tiles.Count);
 }
Пример #7
0
    public List <MapNode> GetMapNodesBetween(
        Vector2 start,
        Vector2 end
        )
    {
        Vector2      relativeStart      = start - bottomLeftCorner;
        Vector2      relativeEnd        = end - bottomLeftCorner;
        List <Point> intersectingPoints = Bresenham.FindTiles(relativeStart, relativeEnd, nodeSize);

        List <MapNode> between = GetBatchMapNodesAt(intersectingPoints);

        Pools.FreeListPoints(intersectingPoints);
        Pools.ListPoints = intersectingPoints;
        return(between);
    }