public ConveyorTile RemoveConveyorLine(GridTile toRemove) { ConveyorTile first = new ConveyorTile(1, 1, tileWidth, tileHeight); foreach (GridTile t in gridTiles.ToList()) { if (toRemove.nodeInGrid == t.nodeInGrid) { ConveyorTile temp = (ConveyorTile)t; if (temp.PositionInLine == 0) { first = temp; } int index = gridTiles.IndexOf(t, 0); EmptyTile empty = new EmptyTile(t.Column, t.Row, tileWidth, tileHeight); gridTiles.Remove(t); gridTiles.Insert(index, empty); } } foreach (GridTile t in gridTiles.ToList()) { if (t.NextTile == first) { t.ClearNextTile(); break; } } return(first); }
public ConveyorTile AddConveyorLineAtCoordinates(GridTile toReplace) { ConveyorTile newLineTile = new ConveyorTile(toReplace.Column, toReplace.Row, tileWidth, tileHeight); gridTiles.Remove(toReplace); gridTiles.Add(newLineTile); return(newLineTile); }
private GridTile ConnectToConveyorPrevious(GridTile c, ConveyorTile temp) { if (temp.isLastTile && temp.NextTile == null) { ConnectTiles(temp, c); return(temp); } return(null); }
private GridTile ConnectToConveyorBeginning(GridTile c, ConveyorTile temp) { if (temp.PositionInLine == 0 && temp.NextTile != c) { c.SetNextTile(temp); return(temp); } return(null); }