Exemple #1
0
 public void StartDeadPath(PathBlock startBlock)
 {
     if (_deadPathInProgress)
         return;
     int blockNumberInPath = _path.FindIndex(block => block == startBlock);
     for (int i = blockNumberInPath; i < _path.Count; i++)
     {
         _deathBlocksRightQueue.Enqueue(_path[i]);
     }
     for (int i = blockNumberInPath - 1; i >= 0; i--)
     {
         _deathBlocksLeftQueue.Enqueue(_path[i]);
     }
     _path.Clear();
     _deadPathInProgress = true;
 }
Exemple #2
0
 public void ReplaceWithPath(PlaygroundBlock oldBlock)
 {
     var pathBlock = new PathBlock(this, oldBlock.PositionOnPlayground);
     Replace(oldBlock, pathBlock);
     _path.Add(pathBlock);
 }