private void ExecuteMoveService(IMoveControlBlocksService moveService) { if (ControlBlocks is null) { return; } ControlBlocks = BlockControllUseCase.Execute(moveService, PlayerId, ControlBlocks); }
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()); }