Esempio n. 1
0
    protected void DumpLine(LXFMLGrid grid, int row)
    {
        var s = new StringBuilder();

        s.Append("<size=22><b>");

        for (int x = 0; x < grid.Width; ++x)
        {
            var cell = grid.GetCellAt(x, row);

            if (cell.IsEmpty)
            {
                s.Append("<color=grey>[O]</color>");
            }
            else
            {
                Color32 color       = (Color32)LXFMLHelper.GetBrickColor(cell.Data.Brick.materialId);
                var     colorString = color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2");

                var str = string.Format("<color=#{0}>[O]</color>", colorString);

                s.Append(str);
            }
        }

        s.Append("</b></size>");

        Debug.Log(s.ToString());
    }
Esempio n. 2
0
    override public void Link(LXFMLCell[] cells, LXFMLGrid grid)
    {
        LXFMLCell cell;

        for (int i = 0, n = cells.Length; i < n; ++i)
        {
            cell = cells[i];

            cell.NeighbourTopLeft     = grid.GetCellAt(new Vector2(cell.Coordinates.x - 1, cell.Coordinates.y - 1));
            cell.NeighbourTop         = grid.GetCellAt(new Vector2(cell.Coordinates.x, cell.Coordinates.y - 1));
            cell.NeighbourTopRight    = grid.GetCellAt(new Vector2(cell.Coordinates.x + 1, cell.Coordinates.y - 1));
            cell.NeighbourLeft        = grid.GetCellAt(new Vector2(cell.Coordinates.x - 1, cell.Coordinates.y));
            cell.NeighbourRight       = grid.GetCellAt(new Vector2(cell.Coordinates.x + 1, cell.Coordinates.y));
            cell.NeighbourBottomLeft  = grid.GetCellAt(new Vector2(cell.Coordinates.x - 1, cell.Coordinates.y + 1));
            cell.NeighbourBottom      = grid.GetCellAt(new Vector2(cell.Coordinates.x, cell.Coordinates.y + 1));
            cell.NeighbourBottomRight = grid.GetCellAt(new Vector2(cell.Coordinates.x + 1, cell.Coordinates.y + 1));
        }
    }
Esempio n. 3
0
    public List <LXFMLCell> GetBrickCells(int brickId)
    {
        List <LXFMLCell> cells     = new List <LXFMLCell>();
        BrickData        brickData = _bricks[brickId];
        int     brickWidth         = LXFMLHelper.GetBrickWidth(brickData.design.id);
        int     brickHeight        = LXFMLHelper.GetBrickHeight(brickData.design.id);
        Vector2 brickOrigin        = GetBrickOrigin(brickId);

        int originX = !LXFMLHelper.IsBrickFlipped(brickData) ? (int)brickOrigin.x : (int)brickOrigin.x - brickWidth + 1;
        int originY = (int)brickOrigin.y;

//		Debug.Log ("brickId = " + brickId.ToString());
//		Debug.Log (brickOrigin);
//		Debug.Log (originX);

//		Debug.Log("***");

        for (int i = originX; i < originX + brickWidth; i++)
        {
            for (int j = originY; j < originY + brickHeight; j++)
            {
//				Debug.Log (i.ToString() + " - " + j.ToString());
                cells.Add(_grid.GetCellAt(i, j));
            }
        }
//		Debug.Log("-------------------------");
        return(cells);
    }