Browse Source

Implemente le lancement de niveaux

DricomDragon 11 months ago
parent
commit
ef642c2a49

+ 6 - 1
godot/composants/objets/planete/planete.gd

@@ -2,6 +2,11 @@ class_name Planete
 extends Sprite2D
 
 
+signal niveau_demarre(PackedScene)
+
+@export var niveau: PackedScene
+
+
 func _quand_cliquable_recoit_evenement(_vue: Node, evenement: InputEvent, _index_forme: int):
 	if evenement.is_action_released("ui_clic"):
-		print("Lancer le niveau !")
+		niveau_demarre.emit(niveau)

+ 13 - 0
godot/exec/choix/choix.gd

@@ -0,0 +1,13 @@
+extends Node2D
+
+
+func _ready() -> void:
+	for child in get_children():
+		assert(child is Planete, "Seules les planetes sont autorisees dans le systeme")
+		var planete: Planete = child as Planete
+		planete.niveau_demarre.connect(demarrer_niveau)
+
+
+func demarrer_niveau(niveau: PackedScene) -> void:
+	add_sibling(niveau.instantiate())
+	queue_free()

+ 7 - 1
godot/exec/choix/monde.tscn

@@ -1,18 +1,24 @@
-[gd_scene load_steps=3 format=3 uid="uid://cnbv6y2ikfysg"]
+[gd_scene load_steps=6 format=3 uid="uid://cnbv6y2ikfysg"]
 
+[ext_resource type="Script" path="res://exec/choix/choix.gd" id="1_1jmyy"]
 [ext_resource type="PackedScene" uid="uid://dohnm5dlvf8fs" path="res://composants/objets/planete/planete.tscn" id="1_pbu8m"]
 [ext_resource type="Texture2D" uid="uid://kgs8gu7ayyar" path="res://composants/objets/planete/02.png" id="2_1herl"]
+[ext_resource type="PackedScene" uid="uid://cyyb8weydthjc" path="res://exec/niveaux/carre_simple.tscn" id="3_yhitu"]
+[ext_resource type="PackedScene" uid="uid://bu1bb2sat6arr" path="res://exec/niveaux/bulle_facile.tscn" id="5_ln8qt"]
 
 [node name="Monde" type="Node"]
 
 [node name="Systeme" type="Node2D" parent="."]
+script = ExtResource("1_1jmyy")
 
 [node name="Planete1" parent="Systeme" instance=ExtResource("1_pbu8m")]
 position = Vector2(108, 135)
+niveau = ExtResource("3_yhitu")
 
 [node name="Planete2" parent="Systeme" instance=ExtResource("1_pbu8m")]
 position = Vector2(297, 272)
 texture = ExtResource("2_1herl")
+niveau = ExtResource("5_ln8qt")
 
 [node name="BarreMenu" type="Panel" parent="."]
 anchors_preset = 10