Я хочу установить делегирование между моим GameViewController и файлом SKScene, но возникла ошибка. Моя цель - вызвать метод из файла SKScene.
Ошибка: значение типа 'GameScene' не имеет члена 'gameViewControllerDelegate'
Что я делаю не так?
Заранее спасибо
MainSC.swift
import UIKit
import SpriteKit
import Firebase
import StoreKit
import GoogleMobileAds
class MainVC: UIViewController, GameViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
if let scene = SKScene(fileNamed: "GameScene") {
let gameScene = scene as! GameScene
//THIS GUY THROWING ERROR
gameScene.gameViewControllerDelegate = self
gameScene.scaleMode = .aspectFill
gameScene.size.width = 414
gameScene.size.height = 736
view.presentScene(gameScene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
view.showsPhysics = true
}
}
func callMethod(inputProperty:String) {
print("inputProperty is: ",inputProperty)
}
}
MainSC.swift
import UIKit
import SpriteKit
import GameplayKit
import Firebase
import GoogleMobileAds
protocol GameViewControllerDelegate : class {
func callMethod(inputProperty:String)
}
class MainSC: SKScene {
weak var gameViewControllerDelegate : GameViewControllerDelegate?
override func didMove(to view: SKView) {
...
gameViewControllerDelegate?.callMethod(inputProperty: "call game view controller method")
}
}