public Grid.MoveResult Move(Block block, int direction) { lastMove = new Grid.MoveResult(); if (block == null) { Log.Error("Cannot move null block."); return lastMove; } if (isGameOver == false && isPaused == false) { lastMove = grid.Move(block, direction); if (lastMove.success) { moves++; OnMove.Raise(this, BlockToWorld(block.position, Vector2.zero), moves); } return lastMove; } return lastMove; }