private void ExecuteMoveService(IMoveControlBlocksService moveService)
 {
     if (ControlBlocks is null)
     {
         return;
     }
     ControlBlocks = BlockControllUseCase.Execute(moveService, PlayerId, ControlBlocks);
 }
Exemple #2
0
    public ControlBlocks Execute(IMoveControlBlocksService moveService, int playerId, ControlBlocks controlBlocks)
    {
        var movedControlBlocks = moveService.Execute(controlBlocks);

        if (PutControlBlocksService.Execute(movedControlBlocks))
        {
            EraseLineService.Execute();
            if (Board.IsGameOver())
            {
                GameOverEvent.EmitGameOver();
            }
            else
            {
                var newControlBlocks = GetNextControlBlocksService.Execute(playerId);
                return(newControlBlocks);
            }
        }
        var adjustedControlBlocks = Adjuster.AdjustBlocksByPutBlocks(movedControlBlocks);

        ControlBlocksPresenter.ChangeControlBlocks(adjustedControlBlocks);
        return(adjustedControlBlocks);
    }
 private void ExecuteMoveServiceAfterWait(IMoveControlBlocksService moveService)
 {
     ExecuteMoveService(moveService);
     IsWaitMove = true;
     StartCoroutine(WaitControl());
 }