diff --git a/common/inventory/resources/items/default_seed.tres b/common/inventory/resources/items/default_seed.tres
index 6a10f90..8ba6235 100644
--- a/common/inventory/resources/items/default_seed.tres
+++ b/common/inventory/resources/items/default_seed.tres
@@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="Seed" load_steps=3 format=3 uid="uid://lrl2okkhyxmx"]
-[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/assets/icons/bolt.svg" id="1_dy25s"]
+[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/game/assets/icons/bolt.svg" id="1_dy25s"]
[ext_resource type="Script" uid="uid://bypjcvlc15gsm" path="res://common/inventory/scripts/items/seed.gd" id="2_mgcdi"]
[resource]
diff --git a/common/inventory/resources/items/default_shovel.tres b/common/inventory/resources/items/default_shovel.tres
new file mode 100644
index 0000000..c5deee3
--- /dev/null
+++ b/common/inventory/resources/items/default_shovel.tres
@@ -0,0 +1,13 @@
+[gd_resource type="Resource" script_class="Shovel" load_steps=3 format=3 uid="uid://ddqalo1k30i5x"]
+
+[ext_resource type="Texture2D" uid="uid://bf6nw4onkhavr" path="res://common/inventory/assets/icons/shovel.svg" id="1_7g3xd"]
+[ext_resource type="Script" uid="uid://dya38x1h1uiyg" path="res://common/inventory/scripts/items/shovel.gd" id="1_28h2r"]
+
+[resource]
+script = ExtResource("1_28h2r")
+area_width = 50.0
+area_distance = 50.0
+name = "Shovel"
+description = "Can dig burried seed, and transform mature plants to seeds."
+icon = ExtResource("1_7g3xd")
+metadata/_custom_type_script = "uid://dya38x1h1uiyg"
diff --git a/common/inventory/resources/items/shovel.tres b/common/inventory/resources/items/shovel.tres
deleted file mode 100644
index 27e26ac..0000000
--- a/common/inventory/resources/items/shovel.tres
+++ /dev/null
@@ -1,11 +0,0 @@
-[gd_resource type="Resource" script_class="Item" load_steps=3 format=3 uid="uid://bb8etgye1qtfx"]
-
-[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://common/inventory/scripts/item.gd" id="1_0wi27"]
-[ext_resource type="Texture2D" uid="uid://bf6nw4onkhavr" path="res://common/inventory/assets/icons/shovel.svg" id="1_cxwlc"]
-
-[resource]
-script = ExtResource("1_0wi27")
-name = "Shovel"
-description = "Transform plants to seeds"
-icon = ExtResource("1_cxwlc")
-metadata/_custom_type_script = "uid://bq7admu4ahs5r"
diff --git a/common/inventory/scripts/item.gd b/common/inventory/scripts/item.gd
index e787d24..be4e01d 100644
--- a/common/inventory/scripts/item.gd
+++ b/common/inventory/scripts/item.gd
@@ -2,7 +2,7 @@ extends Resource
class_name Item
@export var name: String
-@export var description: String
+@export_multiline var description: String
@export var icon: Texture2D
func is_one_time_use():
diff --git a/entities/interactables/item_object/script/item_object.gd b/entities/interactables/item_object/script/item_object.gd
index 5cc5248..7da5ce7 100644
--- a/entities/interactables/item_object/script/item_object.gd
+++ b/entities/interactables/item_object/script/item_object.gd
@@ -52,4 +52,4 @@ func generate_sprite() -> ItemObjectSprite:
ITEM_SPRITE_SIZE
)
- return spriteNode
\ No newline at end of file
+ return spriteNode
diff --git a/entities/plants/resources/plants/default.tres b/entities/plants/resources/plants/default.tres
index a4352ed..64323d5 100644
--- a/entities/plants/resources/plants/default.tres
+++ b/entities/plants/resources/plants/default.tres
@@ -12,16 +12,16 @@ script = ExtResource("2_cky1j")
impact_radius = 100
metadata/_custom_type_script = "uid://cgscbuxe4dawb"
-[sub_resource type="AtlasTexture" id="AtlasTexture_ffarr"]
+[sub_resource type="AtlasTexture" id="AtlasTexture_qt76e"]
atlas = ExtResource("6_cky1j")
region = Rect2(1140, 345, 141, 128)
[resource]
script = ExtResource("1_moyj3")
name = "Chardi"
-description = "This plant can grow without water, and reduce contamination around when it becomes mature."
+description = "This plant reduce contamination around when it becomes mature."
growing_time = 1
-seed_texture = SubResource("AtlasTexture_ffarr")
+seed_texture = SubResource("AtlasTexture_qt76e")
planted_texture = ExtResource("4_2s6re")
growing_texture = ExtResource("1_fp5j6")
mature_texture = ExtResource("3_ffarr")
diff --git a/entities/plants/resources/plants/maias.tres b/entities/plants/resources/plants/maias.tres
index 45f604b..7b10934 100644
--- a/entities/plants/resources/plants/maias.tres
+++ b/entities/plants/resources/plants/maias.tres
@@ -14,7 +14,7 @@ region = Rect2(1697, 331, 125, 158)
script = ExtResource("1_eqtut")
name = "Maias"
description = "This gorgeous flower has no effect, but produce a lot of seeds."
-growing_time = 2
+growing_time = 1
seed_texture = SubResource("AtlasTexture_sri3b")
planted_texture = ExtResource("4_iqcy2")
growing_texture = ExtResource("1_vyplc")
diff --git a/game.tscn b/game.tscn
new file mode 100644
index 0000000..879ac4e
--- /dev/null
+++ b/game.tscn
@@ -0,0 +1,92 @@
+[gd_scene load_steps=19 format=3 uid="uid://d28cp7a21kwou"]
+
+[ext_resource type="PackedScene" uid="uid://12nak7amd1uq" path="res://gui/game/game_gui.tscn" id="1_iotsf"]
+[ext_resource type="PackedScene" uid="uid://csiacsndm62ll" path="res://gui/game/pause/pause.tscn" id="2_215e1"]
+[ext_resource type="PackedScene" uid="uid://bgvbgeq46wee2" path="res://entities/player/player.tscn" id="2_lc2xo"]
+[ext_resource type="PackedScene" uid="uid://v41hfc7haaye" path="res://gui/game/win/win.tscn" id="3_7sc4i"]
+[ext_resource type="Script" uid="uid://dedg615xudpoq" path="res://entities/interactables/item_object/script/item_object.gd" id="3_215e1"]
+[ext_resource type="PackedScene" uid="uid://tsi5j1uxppa4" path="res://stages/terrain/planet/planet.tscn" id="6_e8heu"]
+[ext_resource type="Resource" uid="uid://ddqalo1k30i5x" path="res://common/inventory/resources/items/default_shovel.tres" id="6_lc2xo"]
+[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://common/inventory/scripts/item.gd" id="7_rvswv"]
+[ext_resource type="Texture2D" uid="uid://pltmnkqd5ut2" path="res://entities/plants/assets/sprites/seeds/grille_seeds.png" id="8_boyg6"]
+[ext_resource type="Resource" uid="uid://b04vho33bl52b" path="res://entities/plants/resources/plants/default.tres" id="9_e36ub"]
+[ext_resource type="Script" uid="uid://bypjcvlc15gsm" path="res://common/inventory/scripts/items/seed.gd" id="10_hb5m1"]
+[ext_resource type="Resource" uid="uid://dsctivn1vrem2" path="res://entities/plants/resources/plants/maias.tres" id="11_x5p1p"]
+[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="12_qhcbd"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qt76e"]
+atlas = ExtResource("8_boyg6")
+region = Rect2(1140, 345, 141, 128)
+
+[sub_resource type="Resource" id="Resource_lc2xo"]
+script = ExtResource("10_hb5m1")
+plant_type = ExtResource("9_e36ub")
+name = "Chardi"
+description = "This plant reduce contamination around when it becomes mature."
+icon = SubResource("AtlasTexture_qt76e")
+metadata/_custom_type_script = "uid://bypjcvlc15gsm"
+
+[sub_resource type="Resource" id="Resource_215e1"]
+script = ExtResource("10_hb5m1")
+plant_type = ExtResource("9_e36ub")
+name = "Chardi"
+description = "This plant reduce contamination around when it becomes mature."
+icon = SubResource("AtlasTexture_qt76e")
+metadata/_custom_type_script = "uid://bypjcvlc15gsm"
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_sri3b"]
+atlas = ExtResource("8_boyg6")
+region = Rect2(1697, 331, 125, 158)
+
+[sub_resource type="Resource" id="Resource_7sc4i"]
+script = ExtResource("10_hb5m1")
+plant_type = ExtResource("11_x5p1p")
+name = "Maias"
+description = "This gorgeous flower has no effect, but produce a lot of seeds."
+icon = SubResource("AtlasTexture_sri3b")
+metadata/_custom_type_script = "uid://bypjcvlc15gsm"
+
+[node name="Game" type="Node2D"]
+
+[node name="CanvasLayer" type="CanvasLayer" parent="."]
+
+[node name="RootGui" parent="CanvasLayer" instance=ExtResource("1_iotsf")]
+metadata/_edit_use_anchors_ = true
+
+[node name="Pause" parent="CanvasLayer" instance=ExtResource("2_215e1")]
+process_mode = 3
+visible = false
+z_index = 1000
+
+[node name="Win" parent="CanvasLayer" instance=ExtResource("3_7sc4i")]
+visible = false
+
+[node name="Entities" type="Node2D" parent="."]
+y_sort_enabled = true
+
+[node name="Player" parent="Entities" instance=ExtResource("2_lc2xo")]
+
+[node name="ShovelObject" type="Area2D" parent="Entities"]
+position = Vector2(2, 72)
+script = ExtResource("3_215e1")
+item = ExtResource("6_lc2xo")
+metadata/_custom_type_script = "uid://dedg615xudpoq"
+
+[node name="Planet" parent="." node_paths=PackedStringArray("import_entities_from_node") instance=ExtResource("6_e8heu")]
+loot_items = Array[ExtResource("7_rvswv")]([SubResource("Resource_lc2xo"), SubResource("Resource_215e1"), SubResource("Resource_7sc4i")])
+import_entities_from_node = NodePath("../Entities")
+
+[node name="Camera" parent="." node_paths=PackedStringArray("following") instance=ExtResource("12_qhcbd")]
+position = Vector2(2.22, 0)
+following = NodePath("../Entities/Player")
+
+[connection signal="day_pass_finished" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_day_pass_finished"]
+[connection signal="day_pass_finished" from="CanvasLayer/RootGui" to="Planet" method="_on_root_gui_day_pass_finished"]
+[connection signal="day_pass_pressed" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_day_pass_pressed"]
+[connection signal="day_pass_proceed" from="CanvasLayer/RootGui" to="Planet" method="_on_root_gui_day_pass_proceed"]
+[connection signal="game_click" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_game_click"]
+[connection signal="pause_asked" from="CanvasLayer/RootGui" to="CanvasLayer/Pause" method="_on_root_gui_pause_asked"]
+[connection signal="action_tried_without_energy" from="Entities/Player" to="CanvasLayer/RootGui" method="_on_player_action_tried_without_energy"]
+[connection signal="player_updated" from="Entities/Player" to="CanvasLayer/RootGui" method="_on_player_updated"]
+[connection signal="day_limit_exceed" from="Planet" to="CanvasLayer/Win" method="_on_planet_day_limit_exceed"]
+[connection signal="planet_updated" from="Planet" to="CanvasLayer/RootGui" method="_on_planet_updated"]
diff --git a/gui/assets/icons/bolt.svg b/gui/game/assets/icons/bolt.svg
similarity index 100%
rename from gui/assets/icons/bolt.svg
rename to gui/game/assets/icons/bolt.svg
diff --git a/gui/assets/icons/bolt.svg.import b/gui/game/assets/icons/bolt.svg.import
similarity index 75%
rename from gui/assets/icons/bolt.svg.import
rename to gui/game/assets/icons/bolt.svg.import
index f8dbc11..cb66393 100644
--- a/gui/assets/icons/bolt.svg.import
+++ b/gui/game/assets/icons/bolt.svg.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dcgnamu7sb3ov"
-path="res://.godot/imported/bolt.svg-99699818681b1e0e18f4836dfd772b8c.ctex"
+path="res://.godot/imported/bolt.svg-71cbe0c7c38f15f305dc23930d585037.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://gui/assets/icons/bolt.svg"
-dest_files=["res://.godot/imported/bolt.svg-99699818681b1e0e18f4836dfd772b8c.ctex"]
+source_file="res://gui/game/assets/icons/bolt.svg"
+dest_files=["res://.godot/imported/bolt.svg-71cbe0c7c38f15f305dc23930d585037.ctex"]
[params]
diff --git a/gui/assets/texture/Interface sans boutons.png b/gui/game/assets/texture/Interface sans boutons.png
similarity index 100%
rename from gui/assets/texture/Interface sans boutons.png
rename to gui/game/assets/texture/Interface sans boutons.png
diff --git a/gui/assets/texture/Interface sans boutons.png.import b/gui/game/assets/texture/Interface sans boutons.png.import
similarity index 67%
rename from gui/assets/texture/Interface sans boutons.png.import
rename to gui/game/assets/texture/Interface sans boutons.png.import
index 56de68e..3e550a6 100644
--- a/gui/assets/texture/Interface sans boutons.png.import
+++ b/gui/game/assets/texture/Interface sans boutons.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cm3ehinvvj52i"
-path="res://.godot/imported/Interface sans boutons.png-84e848a01e86bdad058d81d09d7731ba.ctex"
+path="res://.godot/imported/Interface sans boutons.png-8803a272a5ab9636d02d2ab305d64a0e.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://gui/assets/texture/Interface sans boutons.png"
-dest_files=["res://.godot/imported/Interface sans boutons.png-84e848a01e86bdad058d81d09d7731ba.ctex"]
+source_file="res://gui/game/assets/texture/Interface sans boutons.png"
+dest_files=["res://.godot/imported/Interface sans boutons.png-8803a272a5ab9636d02d2ab305d64a0e.ctex"]
[params]
diff --git a/gui/assets/texture/Tablette info.png b/gui/game/assets/texture/Tablette info.png
similarity index 100%
rename from gui/assets/texture/Tablette info.png
rename to gui/game/assets/texture/Tablette info.png
diff --git a/gui/assets/texture/Tablette info.png.import b/gui/game/assets/texture/Tablette info.png.import
similarity index 69%
rename from gui/assets/texture/Tablette info.png.import
rename to gui/game/assets/texture/Tablette info.png.import
index 86b4c43..2c2afbf 100644
--- a/gui/assets/texture/Tablette info.png.import
+++ b/gui/game/assets/texture/Tablette info.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://c2pgaklnj5w3d"
-path="res://.godot/imported/Tablette info.png-0d02a3ea4c574d196b3e778477072d61.ctex"
+path="res://.godot/imported/Tablette info.png-1bbdbf5d41cf3eed26f09b419e160733.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://gui/assets/texture/Tablette info.png"
-dest_files=["res://.godot/imported/Tablette info.png-0d02a3ea4c574d196b3e778477072d61.ctex"]
+source_file="res://gui/game/assets/texture/Tablette info.png"
+dest_files=["res://.godot/imported/Tablette info.png-1bbdbf5d41cf3eed26f09b419e160733.ctex"]
[params]
diff --git a/gui/root_gui.tscn b/gui/game/game_gui.tscn
similarity index 89%
rename from gui/root_gui.tscn
rename to gui/game/game_gui.tscn
index d9d115a..37dc651 100644
--- a/gui/root_gui.tscn
+++ b/gui/game/game_gui.tscn
@@ -1,13 +1,14 @@
-[gd_scene load_steps=17 format=3 uid="uid://12nak7amd1uq"]
+[gd_scene load_steps=18 format=3 uid="uid://12nak7amd1uq"]
-[ext_resource type="Script" uid="uid://cqao7n800qy40" path="res://gui/scripts/root_gui.gd" id="1_udau0"]
-[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/default_theme.tres" id="2_nq5i2"]
-[ext_resource type="Texture2D" uid="uid://cm3ehinvvj52i" path="res://gui/assets/texture/Interface sans boutons.png" id="3_n4kem"]
-[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/assets/icons/bolt.svg" id="4_k4juk"]
-[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/default_label_settings.tres" id="4_ujg5r"]
-[ext_resource type="Texture2D" uid="uid://c2pgaklnj5w3d" path="res://gui/assets/texture/Tablette info.png" id="6_fovlv"]
+[ext_resource type="Script" uid="uid://cqao7n800qy40" path="res://gui/game/scripts/game_gui.gd" id="1_udau0"]
+[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/game/ressources/default_theme.tres" id="2_nq5i2"]
+[ext_resource type="Texture2D" uid="uid://cm3ehinvvj52i" path="res://gui/game/assets/texture/Interface sans boutons.png" id="3_n4kem"]
+[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/game/assets/icons/bolt.svg" id="4_k4juk"]
+[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/game/ressources/default_label_settings.tres" id="4_ujg5r"]
+[ext_resource type="Texture2D" uid="uid://c2pgaklnj5w3d" path="res://gui/game/assets/texture/Tablette info.png" id="6_fovlv"]
[ext_resource type="Texture2D" uid="uid://pltmnkqd5ut2" path="res://entities/plants/assets/sprites/seeds/grille_seeds.png" id="7_n4kem"]
-[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="8_n4kem"]
+[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/game/ressources/fonts/spincycle_ot.otf" id="8_n4kem"]
+[ext_resource type="Texture2D" uid="uid://b5cuxgisrsfgt" path="res://gui/game/pause/assets/icons/player-pause.svg" id="9_2wykm"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ek73b"]
atlas = ExtResource("7_n4kem")
@@ -59,6 +60,22 @@ tracks/2/keys = {
"values": [-44.0]
}
+[sub_resource type="Animation" id="Animation_n4kem"]
+resource_name = "no_energy_left"
+length = 0.5
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("MarginContainer/PlayerInfo/EnergyInfo:offset_left")
+tracks/0/interp = 2
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.266667, 0.333333, 0.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
+"update": 0,
+"values": [-44.0, -40.0, -44.0, -48.0, -44.0, -40.0, -44.0]
+}
+
[sub_resource type="Animation" id="Animation_k4juk"]
resource_name = "recharge_fade_in"
tracks/0/type = "value"
@@ -113,22 +130,6 @@ tracks/1/keys = {
"values": [false]
}
-[sub_resource type="Animation" id="Animation_n4kem"]
-resource_name = "no_energy_left"
-length = 0.5
-tracks/0/type = "value"
-tracks/0/imported = false
-tracks/0/enabled = true
-tracks/0/path = NodePath("MarginContainer/PlayerInfo/EnergyInfo:offset_left")
-tracks/0/interp = 2
-tracks/0/loop_wrap = true
-tracks/0/keys = {
-"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.266667, 0.333333, 0.5),
-"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1),
-"update": 0,
-"values": [-44.0, -40.0, -44.0, -48.0, -44.0, -40.0, -44.0]
-}
-
[sub_resource type="AnimationLibrary" id="AnimationLibrary_n4kem"]
_data = {
&"RESET": SubResource("Animation_iyvkh"),
@@ -235,13 +236,6 @@ theme = ExtResource("2_nq5i2")
text = "Recharge"
icon = ExtResource("4_k4juk")
-[node name="DayCount" type="Label" parent="MarginContainer"]
-unique_name_in_owner = true
-layout_mode = 2
-size_flags_horizontal = 8
-size_flags_vertical = 0
-label_settings = ExtResource("4_ujg5r")
-
[node name="ItemInfo" type="TextureRect" parent="MarginContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 300)
@@ -325,6 +319,28 @@ visible = false
layout_mode = 2
text = "space/click - Use Item"
+[node name="TopRightContent" type="HBoxContainer" parent="MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 0
+alignment = 1
+
+[node name="DayCount" type="Label" parent="MarginContainer/TopRightContent"]
+unique_name_in_owner = true
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 0
+text = "Day 0"
+label_settings = ExtResource("4_ujg5r")
+vertical_alignment = 1
+
+[node name="Pause" type="Button" parent="MarginContainer/TopRightContent"]
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 0
+focus_mode = 0
+icon = ExtResource("9_2wykm")
+
[node name="RechargeFade" type="ColorRect" parent="."]
physics_interpolation_mode = 0
visible = false
@@ -348,3 +364,4 @@ offset_bottom = 40.0
[connection signal="button_down" from="GameAction" to="." method="_on_game_action_button_down"]
[connection signal="pressed" from="MarginContainer/DayPass" to="." method="_on_day_pass_pressed"]
+[connection signal="pressed" from="MarginContainer/TopRightContent/Pause" to="." method="_on_pause_pressed"]
diff --git a/gui/game/pause/assets/icons/logout.svg b/gui/game/pause/assets/icons/logout.svg
new file mode 100644
index 0000000..abc485f
--- /dev/null
+++ b/gui/game/pause/assets/icons/logout.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gui/game/pause/assets/icons/logout.svg.import b/gui/game/pause/assets/icons/logout.svg.import
new file mode 100644
index 0000000..f40d0a8
--- /dev/null
+++ b/gui/game/pause/assets/icons/logout.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dex283rx00fjb"
+path="res://.godot/imported/logout.svg-adb7b7ff1fadfa9220dcf694870580b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/game/pause/assets/icons/logout.svg"
+dest_files=["res://.godot/imported/logout.svg-adb7b7ff1fadfa9220dcf694870580b9.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/gui/game/pause/assets/icons/player-pause.svg b/gui/game/pause/assets/icons/player-pause.svg
new file mode 100644
index 0000000..80d83fe
--- /dev/null
+++ b/gui/game/pause/assets/icons/player-pause.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gui/game/pause/assets/icons/player-pause.svg.import b/gui/game/pause/assets/icons/player-pause.svg.import
new file mode 100644
index 0000000..9472fc9
--- /dev/null
+++ b/gui/game/pause/assets/icons/player-pause.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5cuxgisrsfgt"
+path="res://.godot/imported/player-pause.svg-cb8236066c72679196b716c41226079f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/game/pause/assets/icons/player-pause.svg"
+dest_files=["res://.godot/imported/player-pause.svg-cb8236066c72679196b716c41226079f.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/gui/game/pause/assets/icons/player-play.svg b/gui/game/pause/assets/icons/player-play.svg
new file mode 100644
index 0000000..6eed9bc
--- /dev/null
+++ b/gui/game/pause/assets/icons/player-play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gui/game/pause/assets/icons/player-play.svg.import b/gui/game/pause/assets/icons/player-play.svg.import
new file mode 100644
index 0000000..970299a
--- /dev/null
+++ b/gui/game/pause/assets/icons/player-play.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vmsn54d1ptih"
+path="res://.godot/imported/player-play.svg-25043c6a392478c90f845ddfdfb35372.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/game/pause/assets/icons/player-play.svg"
+dest_files=["res://.godot/imported/player-play.svg-25043c6a392478c90f845ddfdfb35372.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/gui/game/pause/assets/icons/rotate.svg b/gui/game/pause/assets/icons/rotate.svg
new file mode 100644
index 0000000..28d8b7e
--- /dev/null
+++ b/gui/game/pause/assets/icons/rotate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/gui/game/pause/assets/icons/rotate.svg.import b/gui/game/pause/assets/icons/rotate.svg.import
new file mode 100644
index 0000000..536f717
--- /dev/null
+++ b/gui/game/pause/assets/icons/rotate.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bewr0t1wi8pff"
+path="res://.godot/imported/rotate.svg-af6a45b9d3420200a268c1390881e44f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/game/pause/assets/icons/rotate.svg"
+dest_files=["res://.godot/imported/rotate.svg-af6a45b9d3420200a268c1390881e44f.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/gui/game/pause/pause.tscn b/gui/game/pause/pause.tscn
new file mode 100644
index 0000000..b96dc30
--- /dev/null
+++ b/gui/game/pause/pause.tscn
@@ -0,0 +1,105 @@
+[gd_scene load_steps=9 format=3 uid="uid://csiacsndm62ll"]
+
+[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/game/ressources/default_theme.tres" id="1_51ks3"]
+[ext_resource type="Script" uid="uid://crt2d4m5ba25i" path="res://gui/game/pause/scripts/pause.gd" id="1_he4ox"]
+[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/game/ressources/fonts/spincycle_ot.otf" id="2_8d1kg"]
+[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/game/ressources/default_label_settings.tres" id="3_0pdto"]
+[ext_resource type="Texture2D" uid="uid://vmsn54d1ptih" path="res://gui/game/pause/assets/icons/player-play.svg" id="5_apjlw"]
+[ext_resource type="Texture2D" uid="uid://bewr0t1wi8pff" path="res://gui/game/pause/assets/icons/rotate.svg" id="6_58dya"]
+[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://gui/game/pause/assets/icons/logout.svg" id="7_yj6f1"]
+
+[sub_resource type="LabelSettings" id="LabelSettings_apjlw"]
+font = ExtResource("2_8d1kg")
+font_size = 50
+
+[node name="Pause" type="Control"]
+z_index = 10
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_he4ox")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
+
+[node name="Tutorial" type="MarginContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme = ExtResource("1_51ks3")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="Tutorial"]
+layout_mode = 2
+theme = ExtResource("1_51ks3")
+theme_override_constants/separation = 9
+alignment = 1
+
+[node name="PauseTitle" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "Pause"
+label_settings = SubResource("LabelSettings_apjlw")
+horizontal_alignment = 1
+
+[node name="StoryTitle" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "Story"
+label_settings = ExtResource("3_0pdto")
+horizontal_alignment = 1
+
+[node name="StoryText" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "You are a robot who has recently arrived on a barren planet. Find and plant seeds to reduce the contamination.
+You have limited energy, but can recharge when passing days.
+You have 10 days to decontaminate as much as possible.
+"
+horizontal_alignment = 1
+
+[node name="ControlsTitle" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "Controls"
+label_settings = ExtResource("3_0pdto")
+horizontal_alignment = 1
+
+[node name="ControlsText" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "QWERTY/AZERTY/Directional Arrows : Move
+E : Interact/Pickup Items
+Space/Click : Use Item
+W : Drop Item
+"
+horizontal_alignment = 1
+
+[node name="HBoxContainer" type="HBoxContainer" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+alignment = 1
+
+[node name="Resume" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Resume Game"
+icon = ExtResource("5_apjlw")
+
+[node name="Restart" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Restart"
+icon = ExtResource("6_58dya")
+
+[node name="Quit" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Quit"
+icon = ExtResource("7_yj6f1")
+
+[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Resume" to="." method="_on_resume_pressed"]
+[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Restart" to="." method="_on_restart_pressed"]
+[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Quit" to="." method="_on_quit_pressed"]
diff --git a/gui/game/pause/scripts/pause.gd b/gui/game/pause/scripts/pause.gd
new file mode 100644
index 0000000..44b221a
--- /dev/null
+++ b/gui/game/pause/scripts/pause.gd
@@ -0,0 +1,27 @@
+extends Control
+
+var pause = false :
+ set(v):
+ print(pause)
+ pause = v
+ visible = pause
+ get_tree().paused = pause
+
+func _ready():
+ pause = false
+
+func _input(_event):
+ if Input.is_action_just_pressed("pause"):
+ pause = not pause
+
+func _on_resume_pressed():
+ pause = false
+
+func _on_restart_pressed():
+ get_tree().reload_current_scene()
+
+func _on_quit_pressed():
+ get_tree().quit()
+
+func _on_root_gui_pause_asked():
+ pause = true
diff --git a/gui/game/pause/scripts/pause.gd.uid b/gui/game/pause/scripts/pause.gd.uid
new file mode 100644
index 0000000..fbf4fcc
--- /dev/null
+++ b/gui/game/pause/scripts/pause.gd.uid
@@ -0,0 +1 @@
+uid://crt2d4m5ba25i
diff --git a/gui/ressources/Tablette info.png b/gui/game/ressources/Tablette info.png
similarity index 100%
rename from gui/ressources/Tablette info.png
rename to gui/game/ressources/Tablette info.png
diff --git a/gui/ressources/Tablette info.png.import b/gui/game/ressources/Tablette info.png.import
similarity index 70%
rename from gui/ressources/Tablette info.png.import
rename to gui/game/ressources/Tablette info.png.import
index c2c6341..5fe51fd 100644
--- a/gui/ressources/Tablette info.png.import
+++ b/gui/game/ressources/Tablette info.png.import
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://qx75h1k3wmm1"
-path="res://.godot/imported/Tablette info.png-e89cd3fdb4a303341f3bbad730de279c.ctex"
+path="res://.godot/imported/Tablette info.png-b4fbef928a773f595b589d989235c266.ctex"
metadata={
"vram_texture": false
}
[deps]
-source_file="res://gui/ressources/Tablette info.png"
-dest_files=["res://.godot/imported/Tablette info.png-e89cd3fdb4a303341f3bbad730de279c.ctex"]
+source_file="res://gui/game/ressources/Tablette info.png"
+dest_files=["res://.godot/imported/Tablette info.png-b4fbef928a773f595b589d989235c266.ctex"]
[params]
diff --git a/gui/ressources/default_label_settings.tres b/gui/game/ressources/default_label_settings.tres
similarity index 76%
rename from gui/ressources/default_label_settings.tres
rename to gui/game/ressources/default_label_settings.tres
index 37bbcd6..1dcc11a 100644
--- a/gui/ressources/default_label_settings.tres
+++ b/gui/game/ressources/default_label_settings.tres
@@ -1,6 +1,6 @@
[gd_resource type="LabelSettings" load_steps=2 format=3 uid="uid://dqwayi8yjwau2"]
-[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="1_w0wva"]
+[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/game/ressources/fonts/spincycle_ot.otf" id="1_w0wva"]
[resource]
font = ExtResource("1_w0wva")
diff --git a/gui/ressources/default_theme.tres b/gui/game/ressources/default_theme.tres
similarity index 96%
rename from gui/ressources/default_theme.tres
rename to gui/game/ressources/default_theme.tres
index c260647..6899aab 100644
--- a/gui/ressources/default_theme.tres
+++ b/gui/game/ressources/default_theme.tres
@@ -1,6 +1,6 @@
[gd_resource type="Theme" load_steps=5 format=3 uid="uid://bgcmd213j6gk1"]
-[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="1_hv6r3"]
+[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/game/ressources/fonts/spincycle_ot.otf" id="1_hv6r3"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hv6r3"]
bg_color = Color(0.976471, 0.741176, 0.4, 1)
diff --git a/gui/ressources/fonts/AtomicMd-3zXDZ.ttf b/gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf
similarity index 100%
rename from gui/ressources/fonts/AtomicMd-3zXDZ.ttf
rename to gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf
diff --git a/gui/ressources/fonts/AtomicMd-3zXDZ.ttf.import b/gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf.import
similarity index 66%
rename from gui/ressources/fonts/AtomicMd-3zXDZ.ttf.import
rename to gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf.import
index 4750024..03c0b50 100644
--- a/gui/ressources/fonts/AtomicMd-3zXDZ.ttf.import
+++ b/gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://byyfovm1ha5ya"
-path="res://.godot/imported/AtomicMd-3zXDZ.ttf-0d8ee2c5d0b5b97084be121e0cf9710b.fontdata"
+path="res://.godot/imported/AtomicMd-3zXDZ.ttf-72972057c8e238d8e668e97b2f9f70c6.fontdata"
[deps]
-source_file="res://gui/ressources/fonts/AtomicMd-3zXDZ.ttf"
-dest_files=["res://.godot/imported/AtomicMd-3zXDZ.ttf-0d8ee2c5d0b5b97084be121e0cf9710b.fontdata"]
+source_file="res://gui/game/ressources/fonts/AtomicMd-3zXDZ.ttf"
+dest_files=["res://.godot/imported/AtomicMd-3zXDZ.ttf-72972057c8e238d8e668e97b2f9f70c6.fontdata"]
[params]
diff --git a/gui/ressources/fonts/spincycle_3d_ot.otf b/gui/game/ressources/fonts/spincycle_3d_ot.otf
similarity index 100%
rename from gui/ressources/fonts/spincycle_3d_ot.otf
rename to gui/game/ressources/fonts/spincycle_3d_ot.otf
diff --git a/gui/ressources/fonts/spincycle_3d_ot.otf.import b/gui/game/ressources/fonts/spincycle_3d_ot.otf.import
similarity index 66%
rename from gui/ressources/fonts/spincycle_3d_ot.otf.import
rename to gui/game/ressources/fonts/spincycle_3d_ot.otf.import
index d3f3376..74c23fc 100644
--- a/gui/ressources/fonts/spincycle_3d_ot.otf.import
+++ b/gui/game/ressources/fonts/spincycle_3d_ot.otf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://c8xf3tfnpufk3"
-path="res://.godot/imported/spincycle_3d_ot.otf-f71d33fbaded9da2ba85d0eb20bfd1e1.fontdata"
+path="res://.godot/imported/spincycle_3d_ot.otf-21ea869159b3b8db074d7006cdac52ac.fontdata"
[deps]
-source_file="res://gui/ressources/fonts/spincycle_3d_ot.otf"
-dest_files=["res://.godot/imported/spincycle_3d_ot.otf-f71d33fbaded9da2ba85d0eb20bfd1e1.fontdata"]
+source_file="res://gui/game/ressources/fonts/spincycle_3d_ot.otf"
+dest_files=["res://.godot/imported/spincycle_3d_ot.otf-21ea869159b3b8db074d7006cdac52ac.fontdata"]
[params]
diff --git a/gui/ressources/fonts/spincycle_ot.otf b/gui/game/ressources/fonts/spincycle_ot.otf
similarity index 100%
rename from gui/ressources/fonts/spincycle_ot.otf
rename to gui/game/ressources/fonts/spincycle_ot.otf
diff --git a/gui/ressources/fonts/spincycle_ot.otf.import b/gui/game/ressources/fonts/spincycle_ot.otf.import
similarity index 67%
rename from gui/ressources/fonts/spincycle_ot.otf.import
rename to gui/game/ressources/fonts/spincycle_ot.otf.import
index d2d6484..affb9ee 100644
--- a/gui/ressources/fonts/spincycle_ot.otf.import
+++ b/gui/game/ressources/fonts/spincycle_ot.otf.import
@@ -3,12 +3,12 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://cpnsnrqhfkj3k"
-path="res://.godot/imported/spincycle_ot.otf-be21809daa8fde21c00f1cf664ce2342.fontdata"
+path="res://.godot/imported/spincycle_ot.otf-27679d167ed7a37649e3338357150952.fontdata"
[deps]
-source_file="res://gui/ressources/fonts/spincycle_ot.otf"
-dest_files=["res://.godot/imported/spincycle_ot.otf-be21809daa8fde21c00f1cf664ce2342.fontdata"]
+source_file="res://gui/game/ressources/fonts/spincycle_ot.otf"
+dest_files=["res://.godot/imported/spincycle_ot.otf-27679d167ed7a37649e3338357150952.fontdata"]
[params]
diff --git a/gui/scripts/root_gui.gd b/gui/game/scripts/game_gui.gd
similarity index 92%
rename from gui/scripts/root_gui.gd
rename to gui/game/scripts/game_gui.gd
index 537f47e..7abefce 100644
--- a/gui/scripts/root_gui.gd
+++ b/gui/game/scripts/game_gui.gd
@@ -1,10 +1,11 @@
extends Control
-class_name RootGui
+class_name GameGui
signal game_click
signal day_pass_pressed
signal day_pass_proceed
signal day_pass_finished
+signal pause_asked
func _on_player_updated(player:Player):
%EnergyCount.text = str(player.energy)
@@ -37,9 +38,13 @@ func _on_game_action_button_down():
game_click.emit()
func _on_planet_updated(planet:Planet):
- $MarginContainer/DayCount.text = "Day " + str(planet.day)
+ %DayCount.text = "Day " + str(planet.day)
%DecontaminationCoverage.text = str(roundi(planet.decontamination_coverage * 100)) + "%"
func _on_player_action_tried_without_energy():
$AnimationPlayer.play("no_energy_left")
+
+
+func _on_pause_pressed():
+ pause_asked.emit()
diff --git a/gui/scripts/root_gui.gd.uid b/gui/game/scripts/game_gui.gd.uid
similarity index 100%
rename from gui/scripts/root_gui.gd.uid
rename to gui/game/scripts/game_gui.gd.uid
diff --git a/gui/game/win/scripts/win.gd b/gui/game/win/scripts/win.gd
new file mode 100644
index 0000000..392e647
--- /dev/null
+++ b/gui/game/win/scripts/win.gd
@@ -0,0 +1,19 @@
+extends Control
+
+func _ready():
+ visible = false
+
+func win(decontamination_coverage : float):
+ visible = true
+ get_tree().paused = true
+ %WinTitle.text = "Score : " + str(roundi(decontamination_coverage * 100)) + "%"
+
+func _on_restart_pressed():
+ get_tree().reload_current_scene()
+
+func _on_quit_pressed():
+ get_tree().quit()
+
+
+func _on_planet_day_limit_exceed(planet : Planet):
+ win(planet.decontamination_coverage)
diff --git a/gui/game/win/scripts/win.gd.uid b/gui/game/win/scripts/win.gd.uid
new file mode 100644
index 0000000..e3c42f2
--- /dev/null
+++ b/gui/game/win/scripts/win.gd.uid
@@ -0,0 +1 @@
+uid://b3wuxv04clyed
diff --git a/gui/game/win/win.tscn b/gui/game/win/win.tscn
new file mode 100644
index 0000000..992a7ba
--- /dev/null
+++ b/gui/game/win/win.tscn
@@ -0,0 +1,94 @@
+[gd_scene load_steps=8 format=3 uid="uid://v41hfc7haaye"]
+
+[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/game/ressources/default_theme.tres" id="1_cl67j"]
+[ext_resource type="Script" uid="uid://b3wuxv04clyed" path="res://gui/game/win/scripts/win.gd" id="1_sehw2"]
+[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/game/ressources/fonts/spincycle_ot.otf" id="2_sehw2"]
+[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/game/ressources/default_label_settings.tres" id="3_0b3c6"]
+[ext_resource type="Texture2D" uid="uid://bewr0t1wi8pff" path="res://gui/game/pause/assets/icons/rotate.svg" id="4_8p3aj"]
+[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://gui/game/pause/assets/icons/logout.svg" id="5_j3wid"]
+
+[sub_resource type="LabelSettings" id="LabelSettings_eq457"]
+font = ExtResource("2_sehw2")
+font_size = 50
+
+[node name="Win" type="Control"]
+process_mode = 3
+z_index = 101
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_sehw2")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
+
+[node name="Tutorial" type="MarginContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme = ExtResource("1_cl67j")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="Tutorial"]
+layout_mode = 2
+size_flags_horizontal = 4
+theme = ExtResource("1_cl67j")
+theme_override_constants/separation = 9
+alignment = 1
+
+[node name="WinTitle" type="Label" parent="Tutorial/VBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+text = "Score : 2%"
+label_settings = SubResource("LabelSettings_eq457")
+horizontal_alignment = 1
+
+[node name="ThanksTitle" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "Thanks for playing"
+label_settings = ExtResource("3_0b3c6")
+horizontal_alignment = 1
+
+[node name="ThanksText" type="Label" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+text = "We need your feedback! Give us your thoughts on the game on our Discord or in the comments section of the Itch page."
+horizontal_alignment = 1
+
+[node name="HBoxContainer2" type="HBoxContainer" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+alignment = 1
+
+[node name="LinkButton" type="LinkButton" parent="Tutorial/VBoxContainer/HBoxContainer2"]
+layout_mode = 2
+theme = ExtResource("1_cl67j")
+theme_override_font_sizes/font_size = 24
+text = "Join our Discord"
+uri = "https://discord.gg/VTFKvEvgfz"
+
+[node name="HBoxContainer" type="HBoxContainer" parent="Tutorial/VBoxContainer"]
+layout_mode = 2
+alignment = 1
+
+[node name="Restart" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Restart"
+icon = ExtResource("4_8p3aj")
+
+[node name="Quit" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+text = "Quit"
+icon = ExtResource("5_j3wid")
+
+[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Restart" to="." method="_on_restart_pressed"]
+[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Quit" to="." method="_on_quit_pressed"]
diff --git a/gui/menu/assets/texture/SeedingPlanetsLogo.png b/gui/menu/assets/texture/SeedingPlanetsLogo.png
new file mode 100644
index 0000000..282f79b
Binary files /dev/null and b/gui/menu/assets/texture/SeedingPlanetsLogo.png differ
diff --git a/gui/menu/assets/texture/SeedingPlanetsLogo.png.import b/gui/menu/assets/texture/SeedingPlanetsLogo.png.import
new file mode 100644
index 0000000..6a9e8e5
--- /dev/null
+++ b/gui/menu/assets/texture/SeedingPlanetsLogo.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nx4wxpr6mk8l"
+path="res://.godot/imported/SeedingPlanetsLogo.png-21df48940674276ef147abcb9b68381d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/menu/assets/texture/SeedingPlanetsLogo.png"
+dest_files=["res://.godot/imported/SeedingPlanetsLogo.png-21df48940674276ef147abcb9b68381d.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
diff --git a/gui/menu/assets/texture/abre1glow.png b/gui/menu/assets/texture/abre1glow.png
new file mode 100644
index 0000000..6580506
Binary files /dev/null and b/gui/menu/assets/texture/abre1glow.png differ
diff --git a/gui/menu/assets/texture/abre1glow.png.import b/gui/menu/assets/texture/abre1glow.png.import
new file mode 100644
index 0000000..72cb458
--- /dev/null
+++ b/gui/menu/assets/texture/abre1glow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://03ijmo6xlytu"
+path="res://.godot/imported/abre1glow.png-5f3f846ff6582fe5f49aa264265fe9c7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://gui/menu/assets/texture/abre1glow.png"
+dest_files=["res://.godot/imported/abre1glow.png-5f3f846ff6582fe5f49aa264265fe9c7.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
diff --git a/gui/menu/scripts/menu.gd b/gui/menu/scripts/menu.gd
new file mode 100644
index 0000000..ce27060
--- /dev/null
+++ b/gui/menu/scripts/menu.gd
@@ -0,0 +1,6 @@
+extends Node2D
+
+@export_file var start_scene_path : String
+
+func _on_start_pressed():
+ get_tree().change_scene_to_file(start_scene_path)
diff --git a/gui/menu/scripts/menu.gd.uid b/gui/menu/scripts/menu.gd.uid
new file mode 100644
index 0000000..21c2e8a
--- /dev/null
+++ b/gui/menu/scripts/menu.gd.uid
@@ -0,0 +1 @@
+uid://c54457tbocdwk
diff --git a/project.godot b/project.godot
index c8cae62..3a45c1c 100644
--- a/project.godot
+++ b/project.godot
@@ -56,6 +56,11 @@ drop={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
]
}
+pause={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
[rendering]
diff --git a/root.tscn b/root.tscn
index 81d7984..da066dc 100644
--- a/root.tscn
+++ b/root.tscn
@@ -1,89 +1,94 @@
-[gd_scene load_steps=19 format=3 uid="uid://c5bruelvqbm1k"]
+[gd_scene load_steps=8 format=3 uid="uid://c5bruelvqbm1k"]
-[ext_resource type="PackedScene" uid="uid://12nak7amd1uq" path="res://gui/root_gui.tscn" id="1_jnlp7"]
-[ext_resource type="PackedScene" uid="uid://tsi5j1uxppa4" path="res://stages/terrain/planet/planet.tscn" id="1_pyidc"]
-[ext_resource type="PackedScene" uid="uid://bgvbgeq46wee2" path="res://entities/player/player.tscn" id="2_vvh5c"]
-[ext_resource type="Script" uid="uid://dedg615xudpoq" path="res://entities/interactables/item_object/script/item_object.gd" id="3_bf3um"]
-[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="3_vvh5c"]
-[ext_resource type="Texture2D" uid="uid://bf6nw4onkhavr" path="res://common/inventory/assets/icons/shovel.svg" id="4_huihk"]
-[ext_resource type="Script" uid="uid://dya38x1h1uiyg" path="res://common/inventory/scripts/items/shovel.gd" id="5_qw60f"]
-[ext_resource type="Texture2D" uid="uid://pltmnkqd5ut2" path="res://entities/plants/assets/sprites/seeds/grille_seeds.png" id="6_tw3kd"]
-[ext_resource type="Script" uid="uid://bypjcvlc15gsm" path="res://common/inventory/scripts/items/seed.gd" id="9_gd4vy"]
-[ext_resource type="Resource" uid="uid://b04vho33bl52b" path="res://entities/plants/resources/plants/default.tres" id="9_qw60f"]
-[ext_resource type="Resource" uid="uid://dsctivn1vrem2" path="res://entities/plants/resources/plants/maias.tres" id="11_eji0w"]
-[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://common/inventory/scripts/item.gd" id="12_sq7yr"]
-
-[sub_resource type="Resource" id="Resource_qt76e"]
-script = ExtResource("5_qw60f")
-area_width = 50.0
-area_distance = 50.0
-name = "Shovel"
-description = ""
-icon = ExtResource("4_huihk")
-metadata/_custom_type_script = "uid://dya38x1h1uiyg"
-
-[sub_resource type="AtlasTexture" id="AtlasTexture_qt76e"]
-atlas = ExtResource("6_tw3kd")
-region = Rect2(1140, 345, 141, 128)
-
-[sub_resource type="Resource" id="Resource_sq7yr"]
-script = ExtResource("9_gd4vy")
-plant_type = ExtResource("9_qw60f")
-name = "Chardi"
-description = "This plant can grow without water, and reduce contamination around when it becomes mature."
-icon = SubResource("AtlasTexture_qt76e")
-metadata/_custom_type_script = "uid://bypjcvlc15gsm"
-
-[sub_resource type="Resource" id="Resource_blcw0"]
-script = ExtResource("9_gd4vy")
-plant_type = ExtResource("9_qw60f")
-name = "Chardi"
-description = "This plant can grow without water, and reduce contamination around when it becomes mature."
-icon = SubResource("AtlasTexture_qt76e")
-metadata/_custom_type_script = "uid://bypjcvlc15gsm"
-
-[sub_resource type="AtlasTexture" id="AtlasTexture_sri3b"]
-atlas = ExtResource("6_tw3kd")
-region = Rect2(1697, 331, 125, 158)
-
-[sub_resource type="Resource" id="Resource_50g4q"]
-script = ExtResource("9_gd4vy")
-plant_type = ExtResource("11_eji0w")
-name = "Maias"
-description = "This gorgeous flower has no effect, but produce a lot of seeds."
-icon = SubResource("AtlasTexture_sri3b")
-metadata/_custom_type_script = "uid://bypjcvlc15gsm"
+[ext_resource type="Script" uid="uid://c54457tbocdwk" path="res://gui/menu/scripts/menu.gd" id="1_bf3um"]
+[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/planet/assets/textures/sol_gamejam_normal.png" id="2_huihk"]
+[ext_resource type="Texture2D" uid="uid://dcn4cq53h1qiy" path="res://stages/terrain/planet/resources/textures/sol_gamejam_fleurs_transp.png" id="3_tw3kd"]
+[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/game/ressources/default_theme.tres" id="4_gd4vy"]
+[ext_resource type="Texture2D" uid="uid://nx4wxpr6mk8l" path="res://gui/menu/assets/texture/SeedingPlanetsLogo.png" id="5_qw60f"]
+[ext_resource type="Texture2D" uid="uid://03ijmo6xlytu" path="res://gui/menu/assets/texture/abre1glow.png" id="6_eji0w"]
+[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://gui/game/assets/icons/bolt.svg" id="7_qwhpj"]
[node name="Root" type="Node2D"]
+script = ExtResource("1_bf3um")
+start_scene_path = "uid://d28cp7a21kwou"
[node name="CanvasLayer" type="CanvasLayer" parent="."]
-[node name="RootGui" parent="CanvasLayer" instance=ExtResource("1_jnlp7")]
+[node name="Background1" type="TextureRect" parent="CanvasLayer"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("2_huihk")
+expand_mode = 2
+stretch_mode = 6
-[node name="Entities" type="Node2D" parent="."]
-y_sort_enabled = true
+[node name="Background2" type="TextureRect" parent="CanvasLayer"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("3_tw3kd")
+expand_mode = 2
+stretch_mode = 6
-[node name="Player" parent="Entities" instance=ExtResource("2_vvh5c")]
+[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer"]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme = ExtResource("4_gd4vy")
-[node name="ItemObject" type="Area2D" parent="Entities"]
-position = Vector2(2, 72)
-script = ExtResource("3_bf3um")
-item = SubResource("Resource_qt76e")
-metadata/_custom_type_script = "uid://dedg615xudpoq"
+[node name="Logo" type="TextureRect" parent="CanvasLayer/MarginContainer"]
+z_index = 2
+custom_minimum_size = Vector2(500, 0)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+texture = ExtResource("5_qw60f")
+expand_mode = 5
+stretch_mode = 4
-[node name="Planet" parent="." node_paths=PackedStringArray("import_entities_from_node") instance=ExtResource("1_pyidc")]
-loot_items = Array[ExtResource("12_sq7yr")]([SubResource("Resource_sq7yr"), SubResource("Resource_blcw0"), SubResource("Resource_50g4q")])
-import_entities_from_node = NodePath("../Entities")
+[node name="Tree" type="TextureRect" parent="CanvasLayer/MarginContainer"]
+custom_minimum_size = Vector2(500, 0)
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 4
+texture = ExtResource("6_eji0w")
+expand_mode = 4
+stretch_mode = 4
-[node name="Camera" parent="." node_paths=PackedStringArray("following") instance=ExtResource("3_vvh5c")]
-position = Vector2(2.22, 0)
-following = NodePath("../Entities/Player")
+[node name="Start" type="Button" parent="CanvasLayer/MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 8
+theme = ExtResource("4_gd4vy")
+theme_override_font_sizes/font_size = 33
+text = "Start"
+icon = ExtResource("7_qwhpj")
-[connection signal="day_pass_finished" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_day_pass_finished"]
-[connection signal="day_pass_finished" from="CanvasLayer/RootGui" to="Planet" method="_on_root_gui_day_pass_finished"]
-[connection signal="day_pass_pressed" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_day_pass_pressed"]
-[connection signal="day_pass_proceed" from="CanvasLayer/RootGui" to="Planet" method="_on_root_gui_day_pass_proceed"]
-[connection signal="game_click" from="CanvasLayer/RootGui" to="Entities/Player" method="_on_root_gui_game_click"]
-[connection signal="action_tried_without_energy" from="Entities/Player" to="CanvasLayer/RootGui" method="_on_player_action_tried_without_energy"]
-[connection signal="player_updated" from="Entities/Player" to="CanvasLayer/RootGui" method="_on_player_updated"]
-[connection signal="planet_updated" from="Planet" to="CanvasLayer/RootGui" method="_on_planet_updated"]
+[node name="Version" type="Label" parent="CanvasLayer/MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 0
+text = "Prototype 1"
+
+[node name="Credits" type="Label" parent="CanvasLayer/MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 8
+text = "🎨 Art
+Céline Ferrand / Lunarde
+Camille Fleury
+
+🖥️ Development / 🧩 Game Design
+Zacharie Guet / Zink
+Victor Robert Jaunet / Altaezio
+
+🎸 Music
+Niels / Nilou"
+
+[connection signal="pressed" from="CanvasLayer/MarginContainer/Start" to="." method="_on_start_pressed"]
diff --git a/stages/terrain/planet/scripts/planet.gd b/stages/terrain/planet/scripts/planet.gd
index a4b1d94..21e3af2 100644
--- a/stages/terrain/planet/scripts/planet.gd
+++ b/stages/terrain/planet/scripts/planet.gd
@@ -2,9 +2,9 @@ extends Terrain
class_name Planet
signal planet_updated(planet : Planet)
-signal day_limit_exceed
+signal day_limit_exceed(planet : Planet)
-const DAY_LIMIT : int = 3
+const DAY_LIMIT : int = 10
const PLANET_TEXTURE_SCALE : float = 5.0
@export_group("Loot")
@@ -116,13 +116,10 @@ func is_there_contamination(point : Vector2) -> bool:
func pass_day():
day += 1
- if day > DAY_LIMIT:
- day_limit_exceed.emit()
- else:
- for e : Node2D in entityContainer.get_children():
- if e.has_method("_pass_day"):
- e._pass_day()
- generate_loot()
+ for e : Node2D in entityContainer.get_children():
+ if e.has_method("_pass_day"):
+ e._pass_day()
+ generate_loot()
func generate_loot(number : int = loot_number.pick_random()):
for i in range(number):
@@ -132,9 +129,11 @@ func generate_loot(number : int = loot_number.pick_random()):
add_entity(loot)
+ var loot_random_range = UndergroundLoot.LOOTED_ITEM_RANDOM_RANGE
+
loot.global_position = Vector2(
- randf_range(0, terrainData.terrainSize.x),
- randf_range(0, terrainData.terrainSize.y)
+ randf_range(loot_random_range, terrainData.terrainSize.x - loot_random_range),
+ randf_range(loot_random_range, terrainData.terrainSize.y - loot_random_range)
)
#endregion
@@ -144,3 +143,5 @@ func _on_root_gui_day_pass_proceed():
func _on_root_gui_day_pass_finished():
decontamination_coverage = terrainData.get_decontamination_coverage()
+ if day + 1 > DAY_LIMIT:
+ day_limit_exceed.emit(self)