I have a game menu, intro scene and game itself. If player is dead I would like to show game menu again. When game starts menu shows up. Pressing new game shows intro scene as it should. After some time of animation self.sceneEndCallback() is triggered and game scene is shown. When player is dead self.gameEndCallback() crashes with EXC_BAD_ACCESS.
GameViewController.m
__weak GameViewController *weakSelf = self;
IntroScene *introScene = [IntroScene nodeWithFileNamed:@"IntroScene"];
introScene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:introScene];
introScene.sceneEndCallback = ^{
GameScene *scene = [GameScene nodeWithFileNamed:@"GameScene"];
scene.scaleMode = SKSceneScaleModeAspectFill;
SKTransition *transition = [SKTransition fadeWithDuration:2];
[skView presentScene:scene transition:transition];
scene.gameEndCallback = ^{
[weakSelf.navigationController popViewControllerAnimated:YES];
};
};
inside GameScene.h
@property (nonatomic, copy) dispatch_block_t gameEndCallback;