У меня есть файл сценария игры, в котором содержатся названия глав и / или названия игр.Я представляю следующую сцену автоматически с помощью этой функции:
func presentScene(from: SKScene, model: SceneModel)
{
gamestate.update(scene: model)
soundboard.pause(fadeDuration: 1)
switch model.type
{
case .game(let name, _, _):
if let game = SKScene(fileNamed: "GameScene") as? GameScene {
game.model = model
from.view?.presentScene(game, transition: SKTransition.fade(withDuration: 0.6))
}
case .text(_):
if let text = SKScene(fileNamed: "TextScene") as? TextScene {
text.model = model
from.view?.presentScene(text, transition: SKTransition.fade(withDuration: 0.6))
}
case .video(_, _, _):
if let video = SKScene(fileNamed: "VideoScene") as? VideoScene {
video.model = model
from.view?.presentScene(video, transition: SKTransition.fade(withDuration: 0.6))
}
}
}
Итак, мой вопрос таков: могу ли я получить тип пользовательского класса игры, используя строковую переменную?Например,
let nameString = "dakjsdljk"
if let game = SKScene(fileNamed: nameString) as? nameString {
}
или единственный способ сделать это - создать перечисление с типами игр и вручную инициализировать его значения из необработанной строки ??