add background music support

This commit is contained in:
Arnaud Vergnet 2021-04-23 15:59:32 +02:00
parent cff154d14c
commit 444a0ec1d5
24 changed files with 200 additions and 7 deletions

View file

@ -1 +1 @@
{"glossary":[{"extra":"","id":"1618913698-364","name":"fermer","text":"Utilisateur habitué à cette fonctionnalité. Il n’est pas déboussolé face à une nouveauté.","title":"Téléphone verrouillé","type":1},{"extra":"","id":"1618913732-731","name":"ouvert","text":"Donne à l’entreprise une image moderne et éco-responsable. Possibilité de fidéliser des clients qui dépensent plus habituellement.","title":"Téléphone déverrouillé","type":1}],"variables":[{"id":"1618954308-648","name":"jauge_travail","type":0,"value":"0"},{"id":"1618954325-787","name":"jauge_education","type":0,"value":"0"},{"id":"1618954333-366","name":"jauge_financier","type":0,"value":"0"},{"id":"1618954344-146","name":"jauge_ecologie","type":0,"value":"0"},{"id":"1618954357-918","name":"jauge_social","type":0,"value":""},{"id":"1618954386-970","name":"relation_jm","type":0,"value":"0"},{"id":"1618954375-483","name":"relation_evelyne","type":0,"value":"0"},{"id":"1616657225-648","name":"choix_tel_ouvert","type":0,"value":"0"}]}
{"glossary":[{"extra":"","id":"1618913698-364","name":"fermer","text":"Utilisateur habitué à cette fonctionnalité. Il n’est pas déboussolé face à une nouveauté.","title":"Téléphone verrouillé","type":1},{"extra":"","id":"1618913732-731","name":"ouvert","text":"Donne à l’entreprise une image moderne et éco-responsable. Possibilité de fidéliser des clients qui dépensent plus habituellement.","title":"Téléphone déverrouillé","type":1}],"variables":[{"id":"1618954308-648","name":"jauge_travail","type":0,"value":"0"},{"id":"1618954325-787","name":"jauge_education","type":0,"value":"0"},{"id":"1618954333-366","name":"jauge_financier","type":0,"value":"0"},{"id":"1618954344-146","name":"jauge_ecologie","type":0,"value":"0"},{"id":"1618954357-918","name":"jauge_social","type":0,"value":""},{"id":"1618954386-970","name":"relation_jm","type":0,"value":"0"},{"id":"1618954375-483","name":"relation_evelyne","type":0,"value":"0"},{"id":"1616657225-648","name":"choix_tel_ouvert","type":0,"value":"0"},{"id":"1619183465-648","name":"current_phase","type":0,"value":"0"}]}

View file

@ -1 +1 @@
{"events":[{"background":"res://backgrounds/coffeeRoom.jpg"},{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":true,"2":false,"3":false,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"Coucou ! Moi c’est Evelyne, je suis dans ton service!\nJ’ai hâte de travailler avec toi, nous allons faire de belles choses ensemble !\nJ’ai entendu que le boss t’avais mis sur le projet du nouveau téléphone. C’est un gros projet pour commencer."},{"character":"character-1616658355.json","portrait":"","text":"Oui c’est super mais ça me met la pression. En plus je dois essayer de me démarquer des téléphones des autres entreprises en ajoutant de nouvelles fonctionnalités."},{"character":"character-1616658373.json","portrait":"","text":"Justement , tu pourrais laisser la possibilité à l’utilisateur de pouvoir ouvrir le téléphone. "},{"character":"character-1616658373.json","options":[],"portrait":"","question":"Si tu veux je peux te donner plus d’informations, je connais bien ce sujet."},{"choice":"Pourquoi pas","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Dis moi tout !"},{"character":"character-1616658373.json","portrait":"","text":"Si tu as un problème sur une certaine pièce, comme la batterie, tu peux simplement la changer au lieu d’en racheter un nouveau. \nTu peux imaginer l’économie que tu fais non seulement pour ton porte-monnaie, mais aussi pour la planète. \nSi tu l’appliques pour ton projet ça permettrait de donner une image éco-responsable à l’entreprise mais aussi de te démarquer de toutes ces marques qui poussent à la surconsommation."},{"choice":"J’ai du travail","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Je n’ai pas vraiment le temps, il faut que je retourne travailler."},{"character":"character-1616658373.json","options":[],"portrait":"","question":"Ça ne durera pas longtemps, promis !"},{"choice":"Je t’écoute !","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Ok, dis-moi tout."},{"character":"character-1616658373.json","portrait":"","text":"Si tu as un problème sur une certaine pièce, comme la batterie, tu peux simplement la changer au lieu d’en racheter un nouveau. \nTu peux imaginer l’économie que tu fais non seulement pour ton porte-monnaie, mais aussi pour la planète. "},{"choice":"Je n’ai vraiment pas le temps.","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Excuse moi, mais je n’ai vraiment pas le temps. Je retourne travailler, à la prochaine."},{"character":"character-1616658373.json","portrait":"","text":"D’accord, bon courage."},{"endbranch":""},{"endbranch":""},{"action":"join","character":"character-1616658435.json","mirror":false,"portrait":"Default","position":{"0":false,"1":false,"2":false,"3":true,"4":false}},{"character":"character-1616658435.json","portrait":"","text":"Salut toi ! Bienvenue parmi nous. Tu viens d’où mon ami ?"},{"character":"character-1616658355.json","portrait":"","text":"Oh rien d’original j’arrive tout droit de la région parisienne et toi ?"},{"character":"character-1616658435.json","portrait":"","text":"Alors … C’est compliqué … Je crois que je suis suisse."},{"character":"character-1616658355.json","portrait":"","text":"Tu crois ?"},{"character":"character-1616658435.json","portrait":"","text":"Je ne suis pas sûr… Bienvenue parmi nous !"},{"action":"leaveall","character":"[All]"},{"wait_seconds":1},{"change_timeline":"timeline-1618912317.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616657347.json","name":"1_1_info-cafe"}}
{"events":[{"background":"res://backgrounds/coffeeRoom.jpg"},{"action":"join","character":"character-1616658373.json","portrait":"","position":{"0":false,"1":true,"2":false,"3":false,"4":false}},{"character":"character-1616658373.json","portrait":"","text":"Coucou ! Moi c’est Evelyne, je suis dans ton service!\nJ’ai hâte de travailler avec toi, nous allons faire de belles choses ensemble !\nJ’ai entendu que le boss t’avais mis sur le projet du nouveau téléphone. C’est un gros projet pour commencer."},{"character":"character-1616658355.json","portrait":"","text":"Oui c’est super mais ça me met la pression. En plus je dois essayer de me démarquer des téléphones des autres entreprises en ajoutant de nouvelles fonctionnalités."},{"character":"character-1616658373.json","portrait":"","text":"Justement , tu pourrais laisser la possibilité à l’utilisateur de pouvoir ouvrir le téléphone. "},{"character":"character-1616658373.json","options":[],"portrait":"","question":"Si tu veux je peux te donner plus d’informations, je connais bien ce sujet."},{"choice":"Pourquoi pas","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Dis moi tout !"},{"character":"character-1616658373.json","portrait":"","text":"Si tu as un problème sur une certaine pièce, comme la batterie, tu peux simplement la changer au lieu d’en racheter un nouveau. \nTu peux imaginer l’économie que tu fais non seulement pour ton porte-monnaie, mais aussi pour la planète. \nSi tu l’appliques pour ton projet ça permettrait de donner une image éco-responsable à l’entreprise mais aussi de te démarquer de toutes ces marques qui poussent à la surconsommation."},{"choice":"J’ai du travail","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Je n’ai pas vraiment le temps, il faut que je retourne travailler."},{"character":"character-1616658373.json","options":[],"portrait":"","question":"Ça ne durera pas longtemps, promis !"},{"choice":"Je t’écoute !","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Ok, dis-moi tout."},{"character":"character-1616658373.json","portrait":"","text":"Si tu as un problème sur une certaine pièce, comme la batterie, tu peux simplement la changer au lieu d’en racheter un nouveau. \nTu peux imaginer l’économie que tu fais non seulement pour ton porte-monnaie, mais aussi pour la planète. "},{"choice":"Je n’ai vraiment pas le temps.","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Excuse moi, mais je n’ai vraiment pas le temps. Je retourne travailler, à la prochaine."},{"character":"character-1616658373.json","portrait":"","text":"D’accord, bon courage."},{"endbranch":""},{"endbranch":""},{"action":"leaveall","character":"[All]"},{"wait_seconds":0.5},{"action":"join","character":"character-1616658435.json","mirror":false,"portrait":"Default","position":{"0":false,"1":false,"2":false,"3":true,"4":false}},{"character":"character-1616658435.json","portrait":"","text":"Salut toi ! Bienvenue parmi nous. Tu viens d’où mon ami ?"},{"character":"character-1616658355.json","portrait":"","text":"Oh rien d’original j’arrive tout droit de la région parisienne et toi ?"},{"character":"character-1616658435.json","portrait":"","text":"Alors … C’est compliqué … Je crois que je suis suisse."},{"character":"character-1616658355.json","portrait":"","text":"Tu crois ?"},{"character":"character-1616658435.json","portrait":"","text":"Je ne suis pas sûr… Bienvenue parmi nous !"},{"action":"leaveall","character":"[All]"},{"wait_seconds":1},{"change_timeline":"timeline-1618912317.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616657347.json","name":"1_1_info-cafe"}}

View file

@ -1 +1 @@
{"events":[{"change_timeline":"timeline-1618911641.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616659306.json","name":"0_start"}}
{"events":[{"change_timeline":"timeline-1619185676.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616659306.json","name":"00_start"}}

View file

@ -1 +1 @@
{"events":[{"wait_seconds":1},{"character":"","portrait":"","text":"Fin de la démo, merci d'avoir joué !"},{"action":"leaveall","character":"[All]"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616662258.json","name":"0_end"}}
{"events":[{"wait_seconds":1},{"character":"","portrait":"","text":"Fin de la démo, merci d'avoir joué !"},{"action":"leaveall","character":"[All]"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1616662258.json","name":"00_end"}}

View file

@ -1 +1 @@
{"events":[{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"character":"character-1618911589.json","portrait":"","text":"Votre entretien s’est bien passé et vous avez eu le poste dans l’entreprise.\nLe premier projet que votre patron vous confie est de participer à la création d’un nouveau téléphone. \nVous allez travailler en collaboration avec trois de vos collègues : Jean-Michel, Evelyne et Patrick. "},{"character":"character-1616658355.json","portrait":"","text":"Il est 10h c’est l’heure de la pause !"},{"change_timeline":"timeline-1616657347.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1618911641.json","name":"1_1_intro"}}
{"events":[{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"definition":"1619183465-648","operation":"=","set_value":"1"},{"emit_signal":"play_music"},{"character":"character-1618911589.json","portrait":"","text":"Votre entretien s’est bien passé et vous avez eu le poste dans l’entreprise.\nLe premier projet que votre patron vous confie est de participer à la création d’un nouveau téléphone. \nVous allez travailler en collaboration avec trois de vos collègues : Jean-Michel, Evelyne et Patrick. "},{"character":"character-1616658355.json","portrait":"","text":"Il est 10h c’est l’heure de la pause !"},{"change_timeline":"timeline-1616657347.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1618911641.json","name":"1_1_intro"}}

View file

@ -1 +1 @@
{"events":[{"background":"res://backgrounds/bureauPerso.jpg"},{"action":"join","character":"character-1616658471.json","mirror":false,"portrait":"Default","position":{"0":false,"1":false,"2":true,"3":false,"4":false}},{"character":"character-1616658471.json","options":[],"portrait":"","question":"Nouveau mail du Boss ! Le lire ?"},{"choice":"Oui","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Bonjour, J’espère que tout se passe bien pour vous au sein de notre entreprise. \nJe viens vers vous pour vous rappeler que votre premier projet est le développement d’un nouveau téléphone portable. \nCe projet est d’une très grande importance et représente un gros investissement."},{"character":"character-1616658471.json","options":[],"portrait":"","question":"En effet, il sera difficile pour l’entreprise de survivre à l’échec commercial de ce produit. "},{"choice":"Super, déjà des responsabilités !","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Ainsi, dès lors que le téléphone deviendra obsolète, ou si ses composants s’abîment, nos clients n'hésiteront pas à racheter nos produits. \nJ’espère que vous mesurez l’importance de la réussite de ce projet et de l’impact que cela pourrait avoir sur le chiffre d'affaires de l’entreprise.\nCordialement, The boss."},{"choice":"La pression... mieux vaut arrêter de lire","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"choice":"Non","condition":"","definition":"","value":""},{"character":"character-1616658355.json","options":[],"portrait":"","question":"C'est quand même un mail du boss..."},{"choice":"Oui mieux vaut le lire","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Bonjour, J’espère que tout se passe bien pour vous au sein de notre entreprise. \nJe viens vers vous pour vous rappeler que votre premier projet est le développement d’un nouveau téléphone portable. \nCe projet est d’une très grande importance et représente un gros investissement."},{"character":"character-1616658471.json","options":[],"portrait":"","question":"En effet, il sera difficile pour l’entreprise de survivre à l’échec commercial de ce produit. "},{"choice":"Super, déjà des responsabilités !","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Ainsi, dès lors que le téléphone deviendra obsolète, ou si ses composants s’abîment, nos clients n'hésiteront pas à racheter nos produits. \nJ’espère que vous mesurez l’importance de la réussite de ce projet et de l’impact que cela pourrait avoir sur le chiffre d'affaires de l’entreprise.\nCordialement, The boss."},{"choice":"La pression... mieux vaut arrêter de lire","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"choice":"Ce n’est pas le moment","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"endbranch":""},{"change_timeline":"timeline-1616659917.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1618912317.json","name":"1_1_mail_boss"}}
{"events":[{"background":"res://backgrounds/bureauPerso.jpg"},{"action":"join","character":"character-1616658471.json","mirror":false,"portrait":"Default","position":{"0":false,"1":false,"2":true,"3":false,"4":false}},{"character":"character-1616658471.json","options":[],"portrait":"","question":"Nouveau mail du Boss ! Le lire ?"},{"choice":"Oui","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Bonjour, J’espère que tout se passe bien pour vous au sein de notre entreprise. \nJe viens vers vous pour vous rappeler que votre premier projet est le développement d’un nouveau téléphone portable. \nCe projet est d’une très grande importance et représente un gros investissement."},{"character":"character-1616658471.json","options":[],"portrait":"","question":"En effet, il sera difficile pour l’entreprise de survivre à l’échec commercial de ce produit. "},{"choice":"Super, déjà des responsabilités !","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Ainsi, dès lors que le téléphone deviendra obsolète, ou si ses composants s’abîment, nos clients n'hésiteront pas à racheter nos produits. \nJ’espère que vous mesurez l’importance de la réussite de ce projet et de l’impact que cela pourrait avoir sur le chiffre d'affaires de l’entreprise.\nCordialement, The boss."},{"choice":"La pression... mieux vaut arrêter de lire","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"choice":"Non","condition":"","definition":"","value":""},{"character":"character-1616658355.json","options":[],"portrait":"","question":"C'est quand même un mail du boss..."},{"choice":"Oui mieux vaut le lire","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Bonjour, J’espère que tout se passe bien pour vous au sein de notre entreprise. \nJe viens vers vous pour vous rappeler que votre premier projet est le développement d’un nouveau téléphone portable. \nCe projet est d’une très grande importance et représente un gros investissement."},{"character":"character-1616658471.json","options":[],"portrait":"","question":"En effet, il sera difficile pour l’entreprise de survivre à l’échec commercial de ce produit. "},{"choice":"Super, déjà des responsabilités !","condition":"","definition":"","value":""},{"character":"character-1616658471.json","portrait":"","text":"Ainsi, dès lors que le téléphone deviendra obsolète, ou si ses composants s’abîment, nos clients n'hésiteront pas à racheter nos produits. \nJ’espère que vous mesurez l’importance de la réussite de ce projet et de l’impact que cela pourrait avoir sur le chiffre d'affaires de l’entreprise.\nCordialement, The boss."},{"choice":"La pression... mieux vaut arrêter de lire","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"choice":"Ce n’est pas le moment","condition":"","definition":"","value":""},{"character":"character-1616658355.json","portrait":"","text":"Plus tard les mails"},{"endbranch":""},{"endbranch":""},{"action":"leaveall","character":"[All]"},{"change_timeline":"timeline-1616659917.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1618912317.json","name":"1_1_mail_boss"}}

View file

@ -0,0 +1 @@
{"events":[{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"definition":"1619183465-648","operation":"=","set_value":"0"},{"character":"","portrait":"","text":"hello"},{"emit_signal":"setup_minigame score 0_0_minigame_end 0_0_minigame_end"},{"background":""},{"character":"","portrait":"","text":"nice"},{"emit_signal":"start_minigame"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1619185676.json","name":"0_0_intro"}}

View file

@ -0,0 +1 @@
{"events":[{"character":"","portrait":"","text":"end"},{"emit_signal":"play_music"},{"background":"res://backgrounds/bureauGroupe-2.jpg"},{"character":"","portrait":"","text":"back baby"},{"change_timeline":"timeline-1618911641.json"}],"metadata":{"dialogic-version":"1.1","file":"timeline-1619185825.json","name":"0_0_minigame_end"}}

View file

@ -15,6 +15,7 @@ var next_timeline_win := ""
var game_mode = ""
var MUSIC = "res://music/mini_jeu.ogg"
func _ready():
Signals.connect("die", self, "on_game_over")
@ -41,6 +42,7 @@ func set_mode(mode: String):
func start():
print("starting minigame")
BackgroundMusic.crossfade_to(MUSIC, -10, 1)
start_timer_UI.init()
var t = Timer.new()
t.set_wait_time(0.5)

BIN
music/etudiant.ogg Normal file

Binary file not shown.

15
music/etudiant.ogg.import Normal file
View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/etudiant.ogg-85dfffdae3fa59a39319268acf76e765.oggstr"
[deps]
source_file="res://music/etudiant.ogg"
dest_files=[ "res://.import/etudiant.ogg-85dfffdae3fa59a39319268acf76e765.oggstr" ]
[params]
loop=true
loop_offset=0

BIN
music/ingenieur.ogg Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/ingenieur.ogg-3430ea941f29966001db9ceb8b797d49.oggstr"
[deps]
source_file="res://music/ingenieur.ogg"
dest_files=[ "res://.import/ingenieur.ogg-3430ea941f29966001db9ceb8b797d49.oggstr" ]
[params]
loop=true
loop_offset=0

BIN
music/menu_principal.ogg Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/menu_principal.ogg-c98c591fc084bf01a2239657ae0e7038.oggstr"
[deps]
source_file="res://music/menu_principal.ogg"
dest_files=[ "res://.import/menu_principal.ogg-c98c591fc084bf01a2239657ae0e7038.oggstr" ]
[params]
loop=true
loop_offset=0

BIN
music/mini_jeu.ogg Normal file

Binary file not shown.

15
music/mini_jeu.ogg.import Normal file
View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/mini_jeu.ogg-49fa7730c4652ebe0a51b7e95125fafb.oggstr"
[deps]
source_file="res://music/mini_jeu.ogg"
dest_files=[ "res://.import/mini_jeu.ogg-49fa7730c4652ebe0a51b7e95125fafb.oggstr" ]
[params]
loop=true
loop_offset=0

BIN
music/utilisateur.ogg Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/utilisateur.ogg-22434ee80cb95495050e81ee5ff46869.oggstr"
[deps]
source_file="res://music/utilisateur.ogg"
dest_files=[ "res://.import/utilisateur.ogg-22434ee80cb95495050e81ee5ff46869.oggstr" ]
[params]
loop=true
loop_offset=0

View file

@ -58,6 +58,7 @@ config/icon="res://icon.png"
DialogicSingleton="*res://addons/dialogic/Other/DialogicSingleton.gd"
Signals="*res://mini-game/scripts/Signals.gd"
BackgroundMusic="*res://scenes/BackgroundMusic.tscn"
[display]

72
scenes/BackgroundMusic.gd Normal file
View file

@ -0,0 +1,72 @@
extends Control
onready var _track1 := $Track1
onready var _track2 := $Track2
var fade_in_track: AudioStreamPlayer
var fade_out_track: AudioStreamPlayer
var current_path = ""
var current_volume = 0
var paused_volume_offset = -10
var paused = false
func _ready():
$Tween.connect("tween_all_completed", self, "on_Tween_tween_all_completed")
func _process(delta):
if paused and not get_tree().paused:
set_paused(false)
elif not paused and get_tree().paused:
set_paused(true)
func crossfade_to(path: String, volume:float, fade_length: float) -> void:
if current_path == path:
return
var stream: AudioStream = load(path)
fade_out_track = _track1
fade_in_track = _track2
if _track2.playing:
fade_out_track = _track2
fade_in_track = _track1
# setup the new track
fade_in_track.stream = stream
fade_in_track.volume_db = -60
$Tween.interpolate_property(fade_out_track, "volume_db", null, -60, fade_length, Tween.TRANS_LINEAR)
$Tween.interpolate_property(fade_in_track, "volume_db", -60, volume, fade_length, Tween.TRANS_LINEAR)
$Tween.start()
fade_in_track.play()
current_volume = volume
current_path = path
func on_Tween_tween_all_completed():
fade_out_track.stop()
func set_paused(pause: bool):
paused = pause
var volume = current_volume
if pause:
volume += paused_volume_offset
if _track1.playing:
_track1.volume_db = volume
elif _track2.playing:
_track2.volume_db = volume
func fade_out(fade_length:float = 1) -> void:
current_path = ""
$Tween.interpolate_property(_track1, "volume_db", null, -60, fade_length, Tween.TRANS_LINEAR)
$Tween.interpolate_property(_track2, "volume_db", null, -60, fade_length, Tween.TRANS_LINEAR)
$Tween.start()

View file

@ -0,0 +1,16 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://scenes/BackgroundMusic.gd" type="Script" id=1]
[node name="BackgroundMusic" type="Control"]
pause_mode = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Track1" type="AudioStreamPlayer" parent="."]
[node name="Track2" type="AudioStreamPlayer" parent="."]
[node name="Tween" type="Tween" parent="."]

View file

@ -4,10 +4,28 @@ onready var mini_game = $MiniGame;
var dialogic_node;
var STUDENT_MUSIC = "res://music/etudiant.ogg"
var ENGI_MUSIC = "res://music/ingenieur.ogg"
var USER_MUSIC = "res://music/utilisateur.ogg"
func _ready():
dialogic_node = Dialogic.start_from_save('0_start')
dialogic_node = Dialogic.start_from_save('00_start')
add_child_below_node($MiniGame, dialogic_node)
dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
play_music()
func play_music():
var current_phase = Dialogic.get_variable("current_phase")
var music = STUDENT_MUSIC
match current_phase:
"0":
music = STUDENT_MUSIC
"1":
music = ENGI_MUSIC
"2":
music = USER_MUSIC
BackgroundMusic.crossfade_to(music, -10, 1)
func _on_Dialogic_signal_received(value: String):
@ -16,6 +34,8 @@ func _on_Dialogic_signal_received(value: String):
if args.size() > 0:
var type = args[0];
match type:
"play_music":
play_music()
"start_minigame":
start_minigame()
"setup_minigame":

View file

@ -1,5 +1,10 @@
extends Control
var MAIN_MENU_MUSIC = "res://music/menu_principal.ogg"
func _ready():
BackgroundMusic.crossfade_to(MAIN_MENU_MUSIC, -10, 1)
func load_main_game():
get_tree().change_scene("res://scenes/Main.tscn")