diff --git a/Assets/Icones/bunny-slippers.svg b/Assets/Icones/bunny-slippers.svg
new file mode 100644
index 0000000..d2a35ee
--- /dev/null
+++ b/Assets/Icones/bunny-slippers.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/bunny-slippers.svg.import b/Assets/Icones/bunny-slippers.svg.import
new file mode 100644
index 0000000..d0eafb0
--- /dev/null
+++ b/Assets/Icones/bunny-slippers.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0g5h85p51vwr"
+path="res://.godot/imported/bunny-slippers.svg-030eaa531c3431b587f7875aaa5ca497.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/bunny-slippers.svg"
+dest_files=["res://.godot/imported/bunny-slippers.svg-030eaa531c3431b587f7875aaa5ca497.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/cube.svg b/Assets/Icones/cube.svg
deleted file mode 100644
index 9c8e4f1..0000000
--- a/Assets/Icones/cube.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/Assets/Icones/dog-house.svg b/Assets/Icones/dog-house.svg
new file mode 100644
index 0000000..baacbb3
--- /dev/null
+++ b/Assets/Icones/dog-house.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/dog-house.svg.import b/Assets/Icones/dog-house.svg.import
new file mode 100644
index 0000000..408a65c
--- /dev/null
+++ b/Assets/Icones/dog-house.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csl43eb7qjhe4"
+path="res://.godot/imported/dog-house.svg-7b1c0a43acd516a7db0cc00c52c2e3f4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/dog-house.svg"
+dest_files=["res://.godot/imported/dog-house.svg-7b1c0a43acd516a7db0cc00c52c2e3f4.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/exit-door.svg b/Assets/Icones/exit-door.svg
new file mode 100644
index 0000000..b68600a
--- /dev/null
+++ b/Assets/Icones/exit-door.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/exit-door.svg.import b/Assets/Icones/exit-door.svg.import
new file mode 100644
index 0000000..5adfc40
--- /dev/null
+++ b/Assets/Icones/exit-door.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dootdihg7gkoj"
+path="res://.godot/imported/exit-door.svg-e98378b89112c0e0e136bb846335e3ea.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/exit-door.svg"
+dest_files=["res://.godot/imported/exit-door.svg-e98378b89112c0e0e136bb846335e3ea.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/flamingo.svg b/Assets/Icones/flamingo.svg
new file mode 100644
index 0000000..28f14aa
--- /dev/null
+++ b/Assets/Icones/flamingo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/flamingo.svg.import b/Assets/Icones/flamingo.svg.import
new file mode 100644
index 0000000..a45df89
--- /dev/null
+++ b/Assets/Icones/flamingo.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://boxdrq4nrq7hv"
+path="res://.godot/imported/flamingo.svg-36eeae7b34e56c56ee9b8fcb501a6f1d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/flamingo.svg"
+dest_files=["res://.godot/imported/flamingo.svg-36eeae7b34e56c56ee9b8fcb501a6f1d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/globe.svg b/Assets/Icones/globe.svg
new file mode 100644
index 0000000..aa482cf
--- /dev/null
+++ b/Assets/Icones/globe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/cube.svg.import b/Assets/Icones/globe.svg.import
similarity index 73%
rename from Assets/Icones/cube.svg.import
rename to Assets/Icones/globe.svg.import
index 573565f..6b6cb57 100644
--- a/Assets/Icones/cube.svg.import
+++ b/Assets/Icones/globe.svg.import
@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
-uid="uid://nh6qxoglb4g3"
-path="res://.godot/imported/cube.svg-c0871abfea5e01c560421978cffeb532.ctex"
+uid="uid://b838boivhqk5l"
+path="res://.godot/imported/globe.svg-f65a0111b967427fc769d323a512877b.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://Assets/Icones/cube.svg"
-dest_files=["res://.godot/imported/cube.svg-c0871abfea5e01c560421978cffeb532.ctex"]
+source_file="res://Assets/Icones/globe.svg"
+dest_files=["res://.godot/imported/globe.svg-f65a0111b967427fc769d323a512877b.ctex"]
[params]
diff --git a/Assets/Icones/labrador-head.svg b/Assets/Icones/labrador-head.svg
new file mode 100644
index 0000000..e876041
--- /dev/null
+++ b/Assets/Icones/labrador-head.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/labrador-head.svg.import b/Assets/Icones/labrador-head.svg.import
new file mode 100644
index 0000000..93d4bd5
--- /dev/null
+++ b/Assets/Icones/labrador-head.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bb4wihq1n1wm7"
+path="res://.godot/imported/labrador-head.svg-6536c7074d7e34fb182adbba98935cfe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/labrador-head.svg"
+dest_files=["res://.godot/imported/labrador-head.svg-6536c7074d7e34fb182adbba98935cfe.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/penguin.svg b/Assets/Icones/penguin.svg
new file mode 100644
index 0000000..3fbc31d
--- /dev/null
+++ b/Assets/Icones/penguin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/penguin.svg.import b/Assets/Icones/penguin.svg.import
new file mode 100644
index 0000000..17c6a41
--- /dev/null
+++ b/Assets/Icones/penguin.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwwgho6f8f4kj"
+path="res://.godot/imported/penguin.svg-cf2f16792551fc4a4c9e976d5625b012.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/penguin.svg"
+dest_files=["res://.godot/imported/penguin.svg-cf2f16792551fc4a4c9e976d5625b012.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/piggy-bank.svg b/Assets/Icones/piggy-bank.svg
new file mode 100644
index 0000000..5515d55
--- /dev/null
+++ b/Assets/Icones/piggy-bank.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/piggy-bank.svg.import b/Assets/Icones/piggy-bank.svg.import
new file mode 100644
index 0000000..fd97afb
--- /dev/null
+++ b/Assets/Icones/piggy-bank.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bi4auo41uyobl"
+path="res://.godot/imported/piggy-bank.svg-6c718b546cb9af91f14f3b3b8631242a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/piggy-bank.svg"
+dest_files=["res://.godot/imported/piggy-bank.svg-6c718b546cb9af91f14f3b3b8631242a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/power-button.svg b/Assets/Icones/power-button.svg
new file mode 100644
index 0000000..dee13db
--- /dev/null
+++ b/Assets/Icones/power-button.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/power-button.svg.import b/Assets/Icones/power-button.svg.import
new file mode 100644
index 0000000..ad2d135
--- /dev/null
+++ b/Assets/Icones/power-button.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4m5ejfdrm8s0"
+path="res://.godot/imported/power-button.svg-e39ef23cc110fcb5e974e3dfacb0b087.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/power-button.svg"
+dest_files=["res://.godot/imported/power-button.svg-e39ef23cc110fcb5e974e3dfacb0b087.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/raccoon-head.svg b/Assets/Icones/raccoon-head.svg
new file mode 100644
index 0000000..edf6571
--- /dev/null
+++ b/Assets/Icones/raccoon-head.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/raccoon-head.svg.import b/Assets/Icones/raccoon-head.svg.import
new file mode 100644
index 0000000..6f4d5e9
--- /dev/null
+++ b/Assets/Icones/raccoon-head.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cob1lydkirn20"
+path="res://.godot/imported/raccoon-head.svg-30f1ac2835f778e42d50a5a9d61d5758.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/raccoon-head.svg"
+dest_files=["res://.godot/imported/raccoon-head.svg-30f1ac2835f778e42d50a5a9d61d5758.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/sea-star.svg b/Assets/Icones/sea-star.svg
new file mode 100644
index 0000000..9eaee16
--- /dev/null
+++ b/Assets/Icones/sea-star.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/sea-star.svg.import b/Assets/Icones/sea-star.svg.import
new file mode 100644
index 0000000..736d464
--- /dev/null
+++ b/Assets/Icones/sea-star.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://m6jwakrus50v"
+path="res://.godot/imported/sea-star.svg-356e1cac8ce270737d68c08917c25f3d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/sea-star.svg"
+dest_files=["res://.godot/imported/sea-star.svg-356e1cac8ce270737d68c08917c25f3d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/seahorse.svg b/Assets/Icones/seahorse.svg
new file mode 100644
index 0000000..9a07217
--- /dev/null
+++ b/Assets/Icones/seahorse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/seahorse.svg.import b/Assets/Icones/seahorse.svg.import
new file mode 100644
index 0000000..9ec1e8c
--- /dev/null
+++ b/Assets/Icones/seahorse.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4ir6y45pchpl"
+path="res://.godot/imported/seahorse.svg-ff1d9e9780e19ddcc1d39904c853fc76.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/seahorse.svg"
+dest_files=["res://.godot/imported/seahorse.svg-ff1d9e9780e19ddcc1d39904c853fc76.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/seated-mouse.svg b/Assets/Icones/seated-mouse.svg
new file mode 100644
index 0000000..438671d
--- /dev/null
+++ b/Assets/Icones/seated-mouse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/seated-mouse.svg.import b/Assets/Icones/seated-mouse.svg.import
new file mode 100644
index 0000000..81024a7
--- /dev/null
+++ b/Assets/Icones/seated-mouse.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d4pdmbhhlphc"
+path="res://.godot/imported/seated-mouse.svg-2fb1ba8a2fcad4151956650033366bed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/seated-mouse.svg"
+dest_files=["res://.godot/imported/seated-mouse.svg-2fb1ba8a2fcad4151956650033366bed.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Assets/Icones/sideswipe.svg b/Assets/Icones/sideswipe.svg
new file mode 100644
index 0000000..487e166
--- /dev/null
+++ b/Assets/Icones/sideswipe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Assets/Icones/sideswipe.svg.import b/Assets/Icones/sideswipe.svg.import
new file mode 100644
index 0000000..ab9edd0
--- /dev/null
+++ b/Assets/Icones/sideswipe.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dfnf26suc8yb6"
+path="res://.godot/imported/sideswipe.svg-f6ed11ef4e9ca6f2ac5d87ba039c408e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Icones/sideswipe.svg"
+dest_files=["res://.godot/imported/sideswipe.svg-f6ed11ef4e9ca6f2ac5d87ba039c408e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Globals/EventBus.gd b/Globals/EventBus.gd
index 6e3cd38..5eb5c09 100644
--- a/Globals/EventBus.gd
+++ b/Globals/EventBus.gd
@@ -31,10 +31,15 @@ signal money_changed(_value : int)
signal tower_count_changed(_value : int)
-#Emitter : cube.gd
-#Subscriber : label_team.gd
+#Emitter : PlayerManager.gd
+#Subscriber : label_team.gd, label_tower_on_terrain.gd
signal team_in_action_changed(_value : Array)
+#Emitter : PlayerManager.gd
+#Subscriber : label_tower_in_cube.gd
+signal team_in_rest_changed(_value : Array)
+
+
#Emitter : bullet.gd
#Subscriber : bullet_container.gd
diff --git a/Scripts/PlayerManager.gd b/Scripts/PlayerManager.gd
index fdf7a6b..a8796a3 100644
--- a/Scripts/PlayerManager.gd
+++ b/Scripts/PlayerManager.gd
@@ -23,7 +23,11 @@ var team_in_action : Array[Tower]:
EventBus.team_in_action_changed.emit(team_in_action)
-var team_in_rest : Array[Tower]
+var team_in_rest : Array[Tower]:
+ set(value):
+ team_in_rest = value
+ EventBus.team_in_rest_changed.emit(team_in_rest)
+
var target_tower : Tower
var selected_collider : CollisionObject3D
diff --git a/Towers/tower.tscn b/Towers/tower.tscn
index 6dd5543..d4b27a5 100644
--- a/Towers/tower.tscn
+++ b/Towers/tower.tscn
@@ -1,8 +1,9 @@
-[gd_scene load_steps=9 format=3 uid="uid://trg7ag3dqr2l"]
+[gd_scene load_steps=10 format=3 uid="uid://trg7ag3dqr2l"]
[ext_resource type="Script" uid="uid://8kpvuurr5h5n" path="res://Towers/tower.gd" id="1_egfuc"]
[ext_resource type="Texture2D" uid="uid://bn6ikwol6x8r0" path="res://Assets/Characters/Male1.png" id="2_egfuc"]
[ext_resource type="Texture2D" uid="uid://uptdcefxlv4c" path="res://Assets/Icones/ppdf_bio_image_placeholder_2.png" id="2_mnaic"]
+[ext_resource type="Script" uid="uid://bg0x4egeu17qb" path="res://Scripts/Upgrades/TowerUpgrade.gd" id="3_5dr1v"]
[ext_resource type="Resource" uid="uid://c6844q5o2gjhd" path="res://Upgrades/Tower/TowerUpgradeMaxEnergy1.tres" id="3_jv31o"]
[ext_resource type="PackedScene" uid="uid://bm303ot1ck82l" path="res://UI/energy_bar_3d.tscn" id="3_pajr1"]
[ext_resource type="Resource" uid="uid://bus11qw5jg8yo" path="res://Upgrades/Tower/TowerUpgradeMaxEnergy2.tres" id="4_5dr1v"]
@@ -20,7 +21,7 @@ script = ExtResource("1_egfuc")
icone = ExtResource("2_mnaic")
bio = "Aime se promener dans l'herbe et manger des framboises. Sa petite bouille la rend trop mignonne."
bullet_damage = 5
-tower_shop = [ExtResource("3_jv31o"), ExtResource("4_5dr1v")]
+tower_shop = Array[ExtResource("3_5dr1v")]([ExtResource("3_jv31o"), ExtResource("4_5dr1v")])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00914001, 0)
diff --git a/UI/gui.gd b/UI/gui.gd
new file mode 100644
index 0000000..86662c3
--- /dev/null
+++ b/UI/gui.gd
@@ -0,0 +1,5 @@
+extends Control
+
+
+func _on_button_cube_pressed() -> void:
+ pass # Replace with function body.
diff --git a/UI/gui.gd.uid b/UI/gui.gd.uid
new file mode 100644
index 0000000..1ec9f16
--- /dev/null
+++ b/UI/gui.gd.uid
@@ -0,0 +1 @@
+uid://bhylcok1l6eke
diff --git a/UI/gui.tscn b/UI/gui.tscn
index 4a654a5..a6f27db 100644
--- a/UI/gui.tscn
+++ b/UI/gui.tscn
@@ -1,9 +1,24 @@
-[gd_scene load_steps=7 format=3 uid="uid://p6a6rb7sgeqd"]
+[gd_scene load_steps=21 format=3 uid="uid://p6a6rb7sgeqd"]
[ext_resource type="Script" uid="uid://d2x8oy4os7ysn" path="res://UI/label_money.gd" id="1_cwd3r"]
-[ext_resource type="Texture2D" uid="uid://nh6qxoglb4g3" path="res://Assets/Icones/cube.svg" id="1_epgl5"]
+[ext_resource type="Script" uid="uid://c350dletl5pde" path="res://UI/label_tower_in_cube.gd" id="2_6ujs1"]
+[ext_resource type="Script" uid="uid://bhylcok1l6eke" path="res://UI/gui.gd" id="2_sac4j"]
[ext_resource type="Script" uid="uid://dmcgoepvytnn" path="res://UI/cube_integrity.gd" id="2_sj6ny"]
-[ext_resource type="Script" uid="uid://bigr38rqr01sb" path="res://UI/label_team.gd" id="3_yrla7"]
+[ext_resource type="Script" uid="uid://kngsgirej7lx" path="res://UI/label_tower_on_terrain.gd" id="3_wg577"]
+[ext_resource type="Theme" uid="uid://bbp4qcbwkeg7x" path="res://default_theme.tres" id="5_wpcnu"]
+[ext_resource type="Texture2D" uid="uid://csl43eb7qjhe4" path="res://Assets/Icones/dog-house.svg" id="7_fffne"]
+[ext_resource type="Texture2D" uid="uid://dfnf26suc8yb6" path="res://Assets/Icones/sideswipe.svg" id="8_ay13l"]
+[ext_resource type="Texture2D" uid="uid://dootdihg7gkoj" path="res://Assets/Icones/exit-door.svg" id="8_decjp"]
+[ext_resource type="Texture2D" uid="uid://bb4wihq1n1wm7" path="res://Assets/Icones/labrador-head.svg" id="9_decjp"]
+[ext_resource type="Texture2D" uid="uid://b4m5ejfdrm8s0" path="res://Assets/Icones/power-button.svg" id="9_reygo"]
+[ext_resource type="Texture2D" uid="uid://cob1lydkirn20" path="res://Assets/Icones/raccoon-head.svg" id="10_reygo"]
+[ext_resource type="Texture2D" uid="uid://boxdrq4nrq7hv" path="res://Assets/Icones/flamingo.svg" id="11_76b7g"]
+[ext_resource type="Texture2D" uid="uid://m6jwakrus50v" path="res://Assets/Icones/sea-star.svg" id="12_ih1k6"]
+[ext_resource type="Texture2D" uid="uid://dwwgho6f8f4kj" path="res://Assets/Icones/penguin.svg" id="13_ryolu"]
+[ext_resource type="Texture2D" uid="uid://c4ir6y45pchpl" path="res://Assets/Icones/seahorse.svg" id="14_hndjt"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h4fn5"]
+bg_color = Color(0.933333, 0.933333, 0.933333, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nxmp4"]
bg_color = Color(0.180392, 0.180392, 0.180392, 0)
@@ -12,6 +27,9 @@ border_color = Color(0.099986, 0.099986, 0.0999859, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_epgl5"]
bg_color = Color(0.727498, 0.222072, 0.249347, 1)
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3lugd"]
+bg_color = Color(0.933333, 0.933333, 0.933333, 1)
+
[node name="GUI" type="Control"]
layout_mode = 3
anchors_preset = 15
@@ -20,67 +38,296 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
+theme = ExtResource("5_wpcnu")
+script = ExtResource("2_sac4j")
-[node name="VBox" type="VBoxContainer" parent="."]
+[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 1
-anchors_preset = 12
+anchors_preset = 3
+anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
-offset_top = -32.0
-grow_horizontal = 2
+offset_left = -357.0
+offset_top = -352.0
+grow_horizontal = 0
grow_vertical = 0
-size_flags_vertical = 8
+theme_override_constants/separation = 0
-[node name="MarginContainer" type="MarginContainer" parent="VBox"]
+[node name="InfoPanel" type="Panel" parent="HBoxContainer"]
+custom_minimum_size = Vector2(189, 0)
layout_mode = 2
-theme_override_constants/margin_left = 50
-theme_override_constants/margin_right = 50
+theme_override_styles/panel = SubResource("StyleBoxFlat_h4fn5")
-[node name="HBox" type="HBoxContainer" parent="VBox/MarginContainer"]
+[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/InfoPanel"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 10
+theme_override_constants/margin_top = 10
+theme_override_constants/margin_right = 10
+theme_override_constants/margin_bottom = 10
+
+[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/InfoPanel/MarginContainer"]
layout_mode = 2
-alignment = 1
-[node name="LabelMoney" type="Label" parent="VBox/MarginContainer/HBox"]
+[node name="LabelMoney" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 1
-text = "Money :"
+tooltip_text = "La thune."
+mouse_filter = 1
+theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
+text = "1'000'000 €"
+horizontal_alignment = 2
vertical_alignment = 2
script = ExtResource("1_cwd3r")
-[node name="Margin" type="MarginContainer" parent="VBox/MarginContainer/HBox"]
+[node name="LabelTowerInCube" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
layout_mode = 2
-size_flags_horizontal = 3
+tooltip_text = "Le nombre de héros disponible dans le cube !"
+mouse_filter = 1
+theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
+text = "0"
+horizontal_alignment = 2
+script = ExtResource("2_6ujs1")
-[node name="CubeIcon" type="TextureButton" parent="VBox/MarginContainer/HBox"]
-visible = false
-custom_minimum_size = Vector2(50, 50)
+[node name="LabelTowerOnTerrain" type="Label" parent="HBoxContainer/InfoPanel/MarginContainer/VBoxContainer"]
layout_mode = 2
-size_flags_horizontal = 4
-texture_normal = ExtResource("1_epgl5")
-texture_pressed = ExtResource("1_epgl5")
-texture_hover = ExtResource("1_epgl5")
-texture_disabled = ExtResource("1_epgl5")
-texture_focused = ExtResource("1_epgl5")
-ignore_texture_size = true
-stretch_mode = 0
+tooltip_text = "Le nombre de héros en action sur le terrain !"
+mouse_filter = 1
+theme_override_colors/font_color = Color(0.2, 0.2, 0.2, 1)
+text = "0"
+horizontal_alignment = 2
+script = ExtResource("3_wg577")
-[node name="Margin2" type="MarginContainer" parent="VBox/MarginContainer/HBox"]
-layout_mode = 2
-size_flags_horizontal = 3
-
-[node name="LabelTeam" type="Label" parent="VBox/MarginContainer/HBox"]
+[node name="CubeIntegrity" type="ProgressBar" parent="HBoxContainer"]
+custom_minimum_size = Vector2(10, 5)
layout_mode = 2
size_flags_vertical = 1
-text = "actif/total"
-vertical_alignment = 2
-script = ExtResource("3_yrla7")
-
-[node name="CubeIntegrity" type="ProgressBar" parent="VBox"]
-custom_minimum_size = Vector2(0, 5)
-layout_mode = 2
+tooltip_text = "Les points d'intégrités du Cube. S'ils arrivent à 0, fin de la partie."
theme_override_styles/background = SubResource("StyleBoxFlat_nxmp4")
theme_override_styles/fill = SubResource("StyleBoxFlat_epgl5")
value = 50.0
+fill_mode = 3
show_percentage = false
script = ExtResource("2_sj6ny")
+
+[node name="ControlPanelBase" type="Panel" parent="HBoxContainer"]
+custom_minimum_size = Vector2(352, 352)
+layout_mode = 2
+theme = ExtResource("5_wpcnu")
+theme_override_styles/panel = SubResource("StyleBoxFlat_3lugd")
+
+[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer/ControlPanelBase"]
+layout_mode = 1
+anchors_preset = 3
+anchor_left = 1.0
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -352.0
+offset_top = -352.0
+grow_horizontal = 0
+grow_vertical = 0
+theme_override_constants/margin_left = 10
+theme_override_constants/margin_top = 10
+theme_override_constants/margin_right = 10
+theme_override_constants/margin_bottom = 10
+
+[node name="GridContainer" type="GridContainer" parent="HBoxContainer/ControlPanelBase/MarginContainer"]
+layout_mode = 2
+columns = 4
+
+[node name="ButtonCube" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner le cube"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonCube"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("7_fffne")
+expand_mode = 1
+
+[node name="ButtonQuitLevel" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Quitter le niveau"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonQuitLevel"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("8_decjp")
+expand_mode = 1
+
+[node name="ButtonQuitGame" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Quitter le jeu"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonQuitGame"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("9_reygo")
+expand_mode = 1
+
+[node name="ButtonReturn" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Revenir en arrière"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonReturn"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("8_ay13l")
+expand_mode = 1
+
+[node name="ButtonPierre" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Pierre"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonPierre"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("9_decjp")
+expand_mode = 1
+
+[node name="ButtonAline" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Aline"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonAline"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("10_reygo")
+expand_mode = 1
+
+[node name="ButtonMaxence" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Maxence"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonMaxence"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("11_76b7g")
+expand_mode = 1
+
+[node name="ButtonVictoria" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Victoria"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonVictoria"]
+layout_mode = 2
+offset_right = 80.0
+offset_bottom = 80.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("12_ih1k6")
+expand_mode = 1
+
+[node name="ButtonEvan" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Evan"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonEvan"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("13_ryolu")
+expand_mode = 1
+
+[node name="ButtonAlex" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+tooltip_text = "Sélectionner Alex"
+mouse_default_cursor_shape = 2
+
+[node name="TextureRect" type="TextureRect" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonAlex"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("14_hndjt")
+expand_mode = 1
+
+[node name="Button11" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[node name="Button12" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[node name="Button13" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[node name="Button14" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[node name="Button15" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[node name="Button16" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
+custom_minimum_size = Vector2(80, 80)
+layout_mode = 2
+mouse_default_cursor_shape = 2
+
+[connection signal="pressed" from="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonCube" to="." method="_on_button_cube_pressed"]
diff --git a/UI/label_money.gd b/UI/label_money.gd
index 5452de7..5ceb8cb 100644
--- a/UI/label_money.gd
+++ b/UI/label_money.gd
@@ -5,4 +5,4 @@ func _ready() -> void:
func _on_EventBus_money_changed(_value) -> void:
- set_text("Money = " + str(_value))
+ set_text(str(_value) + " €")
diff --git a/UI/label_tower_in_cube.gd b/UI/label_tower_in_cube.gd
new file mode 100644
index 0000000..4400da7
--- /dev/null
+++ b/UI/label_tower_in_cube.gd
@@ -0,0 +1,7 @@
+extends Label
+
+func _ready() -> void:
+ EventBus.team_in_rest_changed.connect(_on_EventBus_team_in_rest_changed)
+
+func _on_EventBus_team_in_rest_changed(_value : Array) -> void:
+ text = str(_value.size())
diff --git a/UI/label_tower_in_cube.gd.uid b/UI/label_tower_in_cube.gd.uid
new file mode 100644
index 0000000..5610522
--- /dev/null
+++ b/UI/label_tower_in_cube.gd.uid
@@ -0,0 +1 @@
+uid://c350dletl5pde
diff --git a/UI/label_tower_on_terrain.gd b/UI/label_tower_on_terrain.gd
new file mode 100644
index 0000000..9e6c627
--- /dev/null
+++ b/UI/label_tower_on_terrain.gd
@@ -0,0 +1,7 @@
+extends Label
+
+func _ready() -> void:
+ EventBus.team_in_action_changed.connect(_on_EventBus_team_in_action_changed)
+
+func _on_EventBus_team_in_action_changed(_value : Array) -> void:
+ text = str(_value.size())
diff --git a/UI/label_tower_on_terrain.gd.uid b/UI/label_tower_on_terrain.gd.uid
new file mode 100644
index 0000000..0528c8f
--- /dev/null
+++ b/UI/label_tower_on_terrain.gd.uid
@@ -0,0 +1 @@
+uid://kngsgirej7lx