diff --git a/dialogic/definitions.json b/dialogic/definitions.json index 321b8f4..945bcfb 100644 --- a/dialogic/definitions.json +++ b/dialogic/definitions.json @@ -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"}]} diff --git a/dialogic/timelines/timeline-1616657347.json b/dialogic/timelines/timeline-1616657347.json index b0e8202..20827ea 100644 --- a/dialogic/timelines/timeline-1616657347.json +++ b/dialogic/timelines/timeline-1616657347.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1616659306.json b/dialogic/timelines/timeline-1616659306.json index 50a5426..4e7f517 100644 --- a/dialogic/timelines/timeline-1616659306.json +++ b/dialogic/timelines/timeline-1616659306.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1616662258.json b/dialogic/timelines/timeline-1616662258.json index e8fb303..701958b 100644 --- a/dialogic/timelines/timeline-1616662258.json +++ b/dialogic/timelines/timeline-1616662258.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1618911641.json b/dialogic/timelines/timeline-1618911641.json index e7b14ba..d777cd8 100644 --- a/dialogic/timelines/timeline-1618911641.json +++ b/dialogic/timelines/timeline-1618911641.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1618912317.json b/dialogic/timelines/timeline-1618912317.json index eed4f35..5cdc068 100644 --- a/dialogic/timelines/timeline-1618912317.json +++ b/dialogic/timelines/timeline-1618912317.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1619185676.json b/dialogic/timelines/timeline-1619185676.json new file mode 100644 index 0000000..860feac --- /dev/null +++ b/dialogic/timelines/timeline-1619185676.json @@ -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"}} diff --git a/dialogic/timelines/timeline-1619185825.json b/dialogic/timelines/timeline-1619185825.json new file mode 100644 index 0000000..04090da --- /dev/null +++ b/dialogic/timelines/timeline-1619185825.json @@ -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"}} diff --git a/mini-game/MiniGame.gd b/mini-game/MiniGame.gd index 79c0cb4..65ec4c0 100644 --- a/mini-game/MiniGame.gd +++ b/mini-game/MiniGame.gd @@ -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) diff --git a/music/etudiant.ogg b/music/etudiant.ogg new file mode 100644 index 0000000..30e91de Binary files /dev/null and b/music/etudiant.ogg differ diff --git a/music/etudiant.ogg.import b/music/etudiant.ogg.import new file mode 100644 index 0000000..e93bdda --- /dev/null +++ b/music/etudiant.ogg.import @@ -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 diff --git a/music/ingenieur.ogg b/music/ingenieur.ogg new file mode 100644 index 0000000..2388ae9 Binary files /dev/null and b/music/ingenieur.ogg differ diff --git a/music/ingenieur.ogg.import b/music/ingenieur.ogg.import new file mode 100644 index 0000000..13f30c2 --- /dev/null +++ b/music/ingenieur.ogg.import @@ -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 diff --git a/music/menu_principal.ogg b/music/menu_principal.ogg new file mode 100644 index 0000000..63b38f4 Binary files /dev/null and b/music/menu_principal.ogg differ diff --git a/music/menu_principal.ogg.import b/music/menu_principal.ogg.import new file mode 100644 index 0000000..eaecc04 --- /dev/null +++ b/music/menu_principal.ogg.import @@ -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 diff --git a/music/mini_jeu.ogg b/music/mini_jeu.ogg new file mode 100644 index 0000000..2e85671 Binary files /dev/null and b/music/mini_jeu.ogg differ diff --git a/music/mini_jeu.ogg.import b/music/mini_jeu.ogg.import new file mode 100644 index 0000000..51a6086 --- /dev/null +++ b/music/mini_jeu.ogg.import @@ -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 diff --git a/music/utilisateur.ogg b/music/utilisateur.ogg new file mode 100644 index 0000000..8366767 Binary files /dev/null and b/music/utilisateur.ogg differ diff --git a/music/utilisateur.ogg.import b/music/utilisateur.ogg.import new file mode 100644 index 0000000..5d92dc8 --- /dev/null +++ b/music/utilisateur.ogg.import @@ -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 diff --git a/project.godot b/project.godot index 805a310..3ddc5cf 100644 --- a/project.godot +++ b/project.godot @@ -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] diff --git a/scenes/BackgroundMusic.gd b/scenes/BackgroundMusic.gd new file mode 100644 index 0000000..7117634 --- /dev/null +++ b/scenes/BackgroundMusic.gd @@ -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() diff --git a/scenes/BackgroundMusic.tscn b/scenes/BackgroundMusic.tscn new file mode 100644 index 0000000..d4722c0 --- /dev/null +++ b/scenes/BackgroundMusic.tscn @@ -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="."] diff --git a/scenes/Main.gd b/scenes/Main.gd index fadc2ea..db47c22 100644 --- a/scenes/Main.gd +++ b/scenes/Main.gd @@ -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": diff --git a/scenes/MainMenu.gd b/scenes/MainMenu.gd index af1bf74..52318b0 100644 --- a/scenes/MainMenu.gd +++ b/scenes/MainMenu.gd @@ -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")