title: runAction SKAction.sequence not working
body: <p>I can't get the runAction method to work for this code block. I'm not sure what I am doing wrong or if there is a problem outside the block, but if anyone sees anything inside that is wrong, let's start there <strong>(*Edited to include entire function)</strong>. All variables work and I'm getting zero compile errors, the program just appears to skip the line <code>currentTestIndicator.runAction(SKAction.sequence(runCheck))</code>. All print statements work except the one inside <code>recurse</code>, also <code>current++</code> isn't getting called. I tried running the code without <code>recurse</code> and it still didn't work. Ideas?</p>
  
  <pre><code>func runLevelCheck(node: SKSpriteNode, _ state: SKSpriteNode, _ bluePatterns:Array&lt;Array&lt;String&gt;&gt;, _ blueSize: CGFloat, _ blueLocations: Array&lt;CGPoint&gt;, _ greenPatterns:Array&lt;Array&lt;String&gt;&gt;, _ greenSize: CGFloat, _ greenLocations:Array&lt;CGPoint&gt;, _ redPatterns:Array&lt;Array&lt;String&gt;&gt;, _ redSize: CGFloat, _ redLocations:Array&lt;CGPoint&gt;, _ orangePatterns:Array&lt;Array&lt;String&gt;&gt;, _ orangeSize: CGFloat, _ orangeLocations:Array&lt;CGPoint&gt;)-&gt;Bool {
  
      var passLevel = true
      var current = 0
      let currentTestIndicator = SKSpriteNode()
      currentTestIndicator.name = "indicator"
      currentTestIndicator.size = CGSizeMake(0, 128)
      blueLocations[current].y)
      currentTestIndicator.anchorPoint = CGPoint(x: 0.0, y: 0.5)
      currentTestIndicator.zPosition = 0
      node.addChild(currentTestIndicator)
  
      let patterns = [bluePatterns, greenPatterns, redPatterns, orangePatterns]
      let sizes = [blueSize, greenSize, redSize, orangeSize]
      let locations = [blueLocations, greenLocations, redLocations, orangeLocations]
      let colors = [color("Light Blue 01"), color("Light Green 01"), color("Light Red 01"), color("Light Orange 01")]
  
      for sets in patterns {
        for rows in sets {
          if rows != [] {
            print("Current set: \(current)")
            print(rows)
            currentTestIndicator.color = colors[current]
            currentTestIndicator.position = CGPoint(x: 0.0, y: locations[current][0].y)
            print(currentTestIndicator.position)
            print("Sizes current = \(sizes[current])")
  
            let growRight = SKAction.resizeToWidth(sizes[current], duration: 0.2)
            let recurse = SKAction.runBlock() {
              recursion(state, rows, 0, 0, &amp;passLevel)
              current++
              print("Changed current value to \(current)")
            }
            let pause = SKAction.waitForDuration(5.0)
            let shrinkLeft = SKAction.resizeToWidth(0, duration: 0.2)
            let runCheck = [growRight, recurse, pause, shrinkLeft]
            currentTestIndicator.runAction(SKAction.sequence(runCheck))
          }
        }
        current = 0
      }
  
      currentTestIndicator.removeFromParent()
  
      print("Ran level check")
  
      switch passLevel {
      case true:
        print("Level passed")
      case false:
        print("Lavel failed")
      }
      return passLevel
  }
  </code></pre>