Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public ConveyorTile AddConveyorLineAtCoordinates(GridTile toReplace)
        {
            ConveyorTile newLineTile = new ConveyorTile(toReplace.Column, toReplace.Row, tileWidth, tileHeight);

            gridTiles.Remove(toReplace);
            gridTiles.Add(newLineTile);
            return(newLineTile);
        }
Esempio n. 3
0
 private GridTile ConnectToConveyorPrevious(GridTile c, ConveyorTile temp)
 {
     if (temp.isLastTile && temp.NextTile == null)
     {
         ConnectTiles(temp, c);
         return(temp);
     }
     return(null);
 }
Esempio n. 4
0
 private GridTile ConnectToConveyorBeginning(GridTile c, ConveyorTile temp)
 {
     if (temp.PositionInLine == 0 && temp.NextTile != c)
     {
         c.SetNextTile(temp);
         return(temp);
     }
     return(null);
 }