private IEnumerator ExecuteMoveAction(Tile targetTile, Tile fromTile, int distance) { pathfinding.SetUnitPathDirections(fromTile.unit, targetTile); fromTile.unit.PlayMoveAnimation(); fromTile.unit.remainingMovementPoints -= distance; targetTile.unit = fromTile.unit; fromTile.unit = null; while (targetTile.unit && targetTile.unit.isMoving) { yield return(endOfFrame); } }