Всем привет. Я работаю со сценами, и все мои сцены наследываются от главной сцены(GameScene).
И моя GameScene связана с GameViewController через некую переменную(gameViewControllerBridge) вот таким образом.
class GameScene: SKScene, SKPhysicsContactDelegate {
var gameViewControllerBridge : GameViewController!
}
А в свою очередь GameViewController связан с GameScene таким образом
class GameViewController: UIViewController {
scene.gameViewControllerBridge = self
}
И у меня в сценах, унаследованных нету доступа к переменной gameViewControllerBridge. И поэтому при переключении сцен выдает ошибка, и застревает со строчкой, где эта самая переменная, к примеру:
gameViewControllerBridge.pauseButton.isHidden = false
Нужно чтобы у всех сцен было доступ к этой переменной. Чтобы мог ее вызывать.
Вот создание самой сцены
extension GameScene {
class Scene1: GameScene {
override func didMove(to view: SKView) {
createGame()}
Функцию createGame() я вызвал из GameScene там и вызывается переменная gameViewControllerBridge
Вот переключение сцен(уровней)
extension GameScene {
func switchScene(){
switch button.rawValue{
case 0:
let transition: SKTransition = SKTransition.fade(withDuration: 0.5)
let scene: SKScene = Scene1(size: self.size)
self.view?.presentScene(scene, transition: transition)
case 1:
let transition: SKTransition = SKTransition.fade(withDuration: 0.5)
let scene: SKScene = Scene2(size: self.size)
self.view?.presentScene(scene, transition: transition)