No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Main.gd 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. extends Node
  2. onready var mini_game = $MiniGame;
  3. var dialogic_node;
  4. var STUDENT_MUSIC = "res://music/etudiant.ogg"
  5. var ENGI_MUSIC = "res://music/ingenieur.ogg"
  6. var USER_MUSIC = "res://music/utilisateur.ogg"
  7. func _ready():
  8. dialogic_node = Dialogic.start_from_save('00_start')
  9. add_child_below_node($MiniGame, dialogic_node)
  10. dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
  11. play_music()
  12. func play_music():
  13. var current_phase = Dialogic.get_variable("current_phase")
  14. var music = STUDENT_MUSIC
  15. match current_phase:
  16. "0":
  17. music = STUDENT_MUSIC
  18. "1":
  19. music = ENGI_MUSIC
  20. "2":
  21. music = USER_MUSIC
  22. BackgroundMusic.crossfade_to(music, -10, 1)
  23. func _on_Dialogic_signal_received(value: String):
  24. var args = value.split(" ")
  25. if args.size() > 0:
  26. var type = args[0];
  27. match type:
  28. "play_music":
  29. play_music()
  30. "start_minigame":
  31. start_minigame()
  32. "setup_minigame":
  33. if (args.size() >= 3):
  34. setup_minigame(args[1], int(args[2]), args[3], args[4], args[5], int(args[6]))
  35. else:
  36. print("not enough arguments for start_minigame")
  37. "end_game":
  38. Transit.change_scene("res://scenes/animal/AnimalScene.tscn", 1)
  39. _:
  40. print("wrong type")
  41. func setup_minigame(mode: String, goal: int, difficulty: String, next_timeline_lose: String, next_timeline_win: String, version: int):
  42. mini_game.setup(mode, goal, difficulty, next_timeline_lose, next_timeline_win, version)
  43. func start_minigame():
  44. mini_game.start()
  45. func _on_MiniGame_game_over(next_timeline: String):
  46. dialogic_node = Dialogic.start(next_timeline)
  47. dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
  48. add_child_below_node($MiniGame, dialogic_node)