예제 #1
0
 private void MoveDownConstant(BlockFacade blockFacade)
 {
     _secondsPassedAfterMove += Time.deltaTime;
     if (_secondsPassedAfterMove >= _secondsBetweenMove)
     {
         blockFacade.BlockTransform.position += Vector3.down;
         _secondsPassedAfterMove              = 0;
         if (!_gridProcessor.CheckMovementIsValid(blockFacade.BlockTransform))
         {
             _audioPlayer.PlaySound(SoundType.DropBlock);
             blockFacade.BlockTransform.position -= Vector3.down;
             _gridProcessor.AddToGrid(blockFacade.BlockTransform);
             if (_gridProcessor.CheckIfTopBorderReached(blockFacade.BlockTransform))
             {
                 _audioPlayer.PlaySound(SoundType.EndGame);
                 _gridProcessor.DetachChildren(blockFacade.BlockTransform);
             }
             else
             {
                 _gridProcessor.DetachChildren(blockFacade.BlockTransform);
                 _gridProcessor.CheckForFullLines();
             }
         }
         else
         {
             _audioPlayer.PlaySound(SoundType.MoveBlock);
         }
     }
 }