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()); }
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)); } }
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); }