From 6762c17a03a618889d0cfbc8dfd1297e71e53b62 Mon Sep 17 00:00:00 2001 From: Thomas Lavocat Date: Mon, 1 May 2023 17:41:22 +0200 Subject: [PATCH] game: Le niveau jeu le rechargement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plutôt que la princesse, c'est leu jeu qui s'occupe de recharger la scène si la princesse est morte. --- game.gd | 20 ++++++++++++++++++++ game.tscn | 6 +++++- princesse.gd | 6 +++--- 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 game.gd diff --git a/game.gd b/game.gd new file mode 100644 index 0000000..95679a5 --- /dev/null +++ b/game.gd @@ -0,0 +1,20 @@ +extends Node + +@onready var transition_shader := $"TransitionShader" +@onready var princesse := $"level/Princesse" + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + _on_transition_shader_fade_in_done() + + +func _on_transition_shader_fade_in_done() -> void: + princesse.go_play() + + +func _on_princesse_princesse_is_dead() -> void: + _on_transition_shader_fade_out_done() + + +func _on_transition_shader_fade_out_done() -> void: + get_tree(). reload_current_scene() diff --git a/game.tscn b/game.tscn index ac094f8..0d2d88c 100644 --- a/game.tscn +++ b/game.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=3 format=3 uid="uid://8mc82qjj5gma"] +[gd_scene load_steps=4 format=3 uid="uid://8mc82qjj5gma"] [ext_resource type="PackedScene" uid="uid://cfou80f4ng1q0" path="res://levels/level.tscn" id="1_qv57y"] +[ext_resource type="Script" path="res://game.gd" id="1_yny56"] [ext_resource type="PackedScene" uid="uid://dv0mokf4eogm7" path="res://princesse.tscn" id="2_0ku48"] [node name="game" type="Node"] +script = ExtResource("1_yny56") [node name="level" parent="." instance=ExtResource("1_qv57y")] light_mask = 1 @@ -14,3 +16,5 @@ position = Vector2(1, 10) position = Vector2(-137, -46) scale = Vector2(0.6, 0.6) collision_mask = 112 + +[connection signal="princesse_is_dead" from="level/Princesse" to="." method="_on_princesse_princesse_is_dead"] diff --git a/princesse.gd b/princesse.gd index 1708cb8..17b8ec9 100644 --- a/princesse.gd +++ b/princesse.gd @@ -43,6 +43,7 @@ var DASH_SPEED = WALKING_SPEED * 2 @export var WALK_INCR_AIR : int = 3 signal cheese_collected() +signal princesse_is_dead() var locked = true @@ -482,10 +483,9 @@ func death() -> void: dead = true death_animation.play(&"death") -func _ready(): - await get_tree().create_timer(0.3).timeout +func go_play(): locked = false dead = false func _on_death_player_animation_finished(_anim_name: StringName) -> void: - get_tree(). reload_current_scene() + princesse_is_dead.emit()