Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

36 wiersze
884 B

  1. extends Node
  2. export var scenes : Dictionary
  3. signal end
  4. func _ready():
  5. $YarnRunnerNode.yarnRunner.add_command("Scene", funcref(self, "load_scene"))
  6. $YarnRunnerNode.yarnRunner.add_command("WaitSignal", funcref(self, "wait_signal"))
  7. yield($YarnRunnerNode.start_script(), "completed")
  8. func load_scene(args):
  9. yield(get_tree(),"idle_frame")
  10. if args.size() > 0:
  11. var scene_key = args[0]
  12. if scenes.has(scene_key):
  13. for child in $SceneContainer.get_children():
  14. child.queue_free()
  15. var scene = scenes[scene_key].instance()
  16. scene.connect("end", self, "on_scene_end")
  17. $SceneContainer.add_child(scene)
  18. if scene_key == "TestGameOver":
  19. $CanvasLayer/UI.hide()
  20. else:
  21. $CanvasLayer/UI.show()
  22. func wait_signal(args):
  23. yield(self, "end")
  24. func on_scene_end():
  25. emit_signal("end")
  26. func _input(event):
  27. if event.is_action_pressed("ui_cancel"):
  28. emit_signal("end")