diff --git a/gui/game/alert/alert.tscn b/gui/game/alert/alert.tscn new file mode 100644 index 0000000..909a149 --- /dev/null +++ b/gui/game/alert/alert.tscn @@ -0,0 +1,213 @@ +[gd_scene format=3 uid="uid://edxmvtvtipwq"] + +[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_bmajk"] +[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="2_jqcc2"] +[ext_resource type="Script" uid="uid://b8hth7y8sjfy4" path="res://gui/game/alert/scripts/alert.gd" id="2_tr7ge"] + +[sub_resource type="Gradient" id="Gradient_id0t5"] +interpolation_mode = 1 +offsets = PackedFloat32Array(0, 0.115169, 0.41573, 0.620786, 0.924157) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_j7f85"] +gradient = SubResource("Gradient_id0t5") +fill_to = Vector2(1, 1) +repeat = 1 + +[sub_resource type="Animation" id="Animation_jqcc2"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MarginContainer/Label:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_bmajk"] +resource_name = "appear" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.06666667), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MarginContainer/Label:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.06666667, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.06666667, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, 50)] +} + +[sub_resource type="Animation" id="Animation_tr7ge"] +resource_name = "hidden" +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MarginContainer/Label:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_ekkvw"] +resource_name = "shown" +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 50)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("MarginContainer/Label:modulate") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_jqcc2"] +_data = { +&"RESET": SubResource("Animation_jqcc2"), +&"appear": SubResource("Animation_bmajk"), +&"hidden": SubResource("Animation_tr7ge"), +&"shown": SubResource("Animation_ekkvw") +} + +[node name="Alert" type="VBoxContainer" unique_id=496897031] +visible = false +anchors_preset = 10 +anchor_right = 1.0 +grow_horizontal = 2 +theme = ExtResource("1_bmajk") +theme_override_constants/separation = 0 +script = ExtResource("2_tr7ge") +text = "Hello" + +[node name="NoRechargeLeftBaneer" type="TextureRect" parent="." unique_id=23924313] +layout_mode = 2 +texture = SubResource("GradientTexture2D_j7f85") +expand_mode = 1 +stretch_mode = 1 + +[node name="MarginContainer" type="MarginContainer" parent="." unique_id=813474581] +layout_mode = 2 + +[node name="Label" type="Label" parent="MarginContainer" unique_id=1564390461] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0) +layout_mode = 2 +text = "Hello" +label_settings = ExtResource("2_jqcc2") +horizontal_alignment = 2 + +[node name="AppearAnimationPlayer" type="AnimationPlayer" parent="." unique_id=1593798240] +unique_name_in_owner = true +libraries/ = SubResource("AnimationLibrary_jqcc2") diff --git a/gui/game/alert/scripts/alert.gd b/gui/game/alert/scripts/alert.gd new file mode 100644 index 0000000..de84ae0 --- /dev/null +++ b/gui/game/alert/scripts/alert.gd @@ -0,0 +1,25 @@ +@tool +extends VBoxContainer +class_name Alert + +@export var text = "" : + set(t): + text = t + if is_node_ready(): + %Label.text = t + +func appear( + with_anim : bool = not visible +): + if with_anim : + %AppearAnimationPlayer.play("appear") + else: + %AppearAnimationPlayer.play("shown") + +func disappear( + with_anim : bool = visible +): + if with_anim : + %AppearAnimationPlayer.play_backwards("appear") + else: + %AppearAnimationPlayer.play("hidden") \ No newline at end of file diff --git a/gui/game/alert/scripts/alert.gd.uid b/gui/game/alert/scripts/alert.gd.uid new file mode 100644 index 0000000..17944a1 --- /dev/null +++ b/gui/game/alert/scripts/alert.gd.uid @@ -0,0 +1 @@ +uid://b8hth7y8sjfy4 diff --git a/gui/game/game_gui.tscn b/gui/game/game_gui.tscn index 95cd1c4..e9f0d48 100644 --- a/gui/game/game_gui.tscn +++ b/gui/game/game_gui.tscn @@ -2,6 +2,7 @@ [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/ressources/hud.tres" id="2_nq5i2"] +[ext_resource type="PackedScene" uid="uid://edxmvtvtipwq" path="res://gui/game/alert/alert.tscn" id="2_ykapk"] [ext_resource type="PackedScene" uid="uid://brfsapvj2quxm" path="res://gui/game/energy_info/energy_info.tscn" id="4_2wykm"] [ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="4_h6540"] [ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="6_2wykm"] @@ -11,116 +12,16 @@ [ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="7_dr1y2"] [ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"] -[sub_resource type="Gradient" id="Gradient_id0t5"] -interpolation_mode = 1 -offsets = PackedFloat32Array(0, 0.115169, 0.41573, 0.620786, 0.924157) -colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_j7f85"] -gradient = SubResource("Gradient_id0t5") -fill_to = Vector2(1, 1) -repeat = 1 - [sub_resource type="LabelSettings" id="LabelSettings_id0t5"] font = ExtResource("6_2wykm") font_size = 40 -[sub_resource type="Animation" id="Animation_2wykm"] -resource_name = "NoRechargeAppear" -length = 0.5 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("MarginContainer/GiveUpButton:visible") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.03333333), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [false, true] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("MarginContainer/GiveUpButton:modulate") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(0, 50)] -} - -[sub_resource type="Animation" id="Animation_id0t5"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("MarginContainer/GiveUpButton:visible") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("MarginContainer/GiveUpButton:modulate") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("NoRechargeLeftBaneer:custom_minimum_size") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(0, 0)] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_ykapk"] -_data = { -&"NoRechargeAppear": SubResource("Animation_2wykm"), -&"RESET": SubResource("Animation_id0t5") -} - [node name="GameGui" type="CanvasLayer" unique_id=274698556] script = ExtResource("1_udau0") -[node name="NoRechargeLeftBaneer" type="TextureRect" parent="." unique_id=827897082] -self_modulate = Color(1, 0.6509804, 0.09019608, 1) -anchors_preset = 10 -anchor_right = 1.0 -grow_horizontal = 2 -texture = SubResource("GradientTexture2D_j7f85") -expand_mode = 1 -stretch_mode = 1 +[node name="Alert" parent="." unique_id=496897031 instance=ExtResource("2_ykapk")] +unique_name_in_owner = true +modulate = Color(1, 0, 0.43137252, 1) [node name="ScoreParticles" type="Control" parent="." unique_id=842190807] unique_name_in_owner = true @@ -192,13 +93,8 @@ size_flags_vertical = 8 [node name="GiveUpButton" type="Button" parent="MarginContainer" unique_id=1128310884] unique_name_in_owner = true -visible = false layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 8 text = "GIVE_UP" icon = ExtResource("7_dr1y2") - -[node name="NoRechargeAnimationPlayer" type="AnimationPlayer" parent="." unique_id=969107428] -unique_name_in_owner = true -libraries/ = SubResource("AnimationLibrary_ykapk") diff --git a/gui/game/scripts/game_gui.gd b/gui/game/scripts/game_gui.gd index a157015..94c6eb9 100644 --- a/gui/game/scripts/game_gui.gd +++ b/gui/game/scripts/game_gui.gd @@ -20,6 +20,7 @@ func _ready(): %SimplePlantPointScore.visible = "tutorial" in GameInfo.game_data.current_region_data.flags charge_update(GameInfo.game_data.current_region_data) + state_update(GameInfo.game_data.current_region_data) player_update(GameInfo.game_data.player_data, false) %EnergyInfo.reset_size() %GiveUpButton.pressed.connect(_on_give_up_pressed) @@ -59,6 +60,7 @@ func _on_region_updated(region_data : RegionData): score_by_plant.erase(key) charge_update(region_data) + state_update(region_data) func _on_give_up_pressed(): GameInfo.game_data.give_up() @@ -66,12 +68,6 @@ func _on_give_up_pressed(): func charge_update(region_data : RegionData): %RechargesLeftLabel.text = tr("%d_CHARGE_LEFT") % (region_data.charges) - if region_data.charges == 0 and region_data.state != RegionData.State.SUCCEEDED: - if not %GiveUpButton.visible: - %NoRechargeAnimationPlayer.play("NoRechargeAppear") - else : - if %GiveUpButton.visible: - %NoRechargeAnimationPlayer.play_backward("NoRechargeAppear") func score_update(with_animation = true): var objective_progression : float @@ -98,6 +94,23 @@ func score_update(with_animation = true): else : %SimplePlantPointScoreLabel.text = tr("%d_PLANT_POINT") % score_mirror +func state_update(region_data : RegionData): + if region_data.state == RegionData.State.SUCCEEDED: + print("C'est gagné !!") + %Alert.text = "SHIP_IS_READY_TO_TAKE_OFF" + if "tutorial" in region_data.flags: + %Alert.text = "TUTORIAL_FINISHED" + %Alert.modulate = Color("25C147") + %Alert.appear() + elif region_data.state == RegionData.State.FAILED: + %Alert.text = "NO_RECHARGE_LEFT" + %Alert.modulate = Color("FF006E") + %Alert.appear() + else: + %Alert.disappear() + print(region_data.state == RegionData.State.FAILED) + %GiveUpButton.visible = region_data.state == RegionData.State.FAILED + func plant_changing_score(plant_data: PlantData, amount : int): if GameInfo.game_data.current_region_data.in_passing_day_animation: await GameInfo.game_data.current_region_data.pass_day_ended diff --git a/gui/game/tutorial/scripts/tutorial.gd b/gui/game/tutorial/scripts/tutorial.gd index 73659ab..a18a794 100644 --- a/gui/game/tutorial/scripts/tutorial.gd +++ b/gui/game/tutorial/scripts/tutorial.gd @@ -107,9 +107,10 @@ func _process(_d): func finish_tutorial(): GameInfo.game_data.tutorial_done = true + region.data.state = RegionData.State.SUCCEEDED + region.data.update() succeded.emit() - class Step: var text : String : get = get_text diff --git a/stages/terrain/region/region.tscn b/stages/terrain/region/region.tscn index ed56fa4..4183a61 100644 --- a/stages/terrain/region/region.tscn +++ b/stages/terrain/region/region.tscn @@ -2,17 +2,114 @@ [ext_resource type="Script" uid="uid://d1mp5sguc0b6u" path="res://stages/terrain/region/scripts/region.gd" id="1_441sk"] [ext_resource type="PackedScene" uid="uid://dt6mptqg80dew" path="res://gui/game/tutorial/tutorial.tscn" id="2_2f6js"] +[ext_resource type="Shader" uid="uid://cfj18vc04cgkg" path="res://common/vfx/materials/shaders/blur_vignette.gdshader" id="2_ktnx3"] [ext_resource type="PackedScene" uid="uid://yk78ubpu5ghq" path="res://gui/game/pass_day/pass_day.tscn" id="3_ktnx3"] +[ext_resource type="Shader" uid="uid://btgk5l0a6ii44" path="res://common/vfx/materials/shaders/screen_fog.gdshader" id="3_qdnee"] +[ext_resource type="Script" uid="uid://bi8fo6yp25su7" path="res://stages/terrain/region/scripts/camera_fog.gd" id="4_ovqi1"] [ext_resource type="PackedScene" uid="uid://12nak7amd1uq" path="res://gui/game/game_gui.tscn" id="4_qdnee"] [ext_resource type="PackedScene" uid="uid://bgvbgeq46wee2" path="res://entities/player/player.tscn" id="5_ovqi1"] [ext_resource type="PackedScene" uid="uid://d324mlmgls4fs" path="res://entities/interactables/truck/recharge/truck_recharge.tscn" id="7_6d8m3"] [ext_resource type="PackedScene" uid="uid://b8m537op75gib" path="res://entities/interactables/door/door.tscn" id="8_2f6js"] [ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="8_fwgig"] +[ext_resource type="Texture2D" uid="uid://rdrhi3r11ey6" path="res://common/icons/square-rounded.svg" id="10_ktnx3"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_qdnee"] +shader = ExtResource("2_ktnx3") +shader_parameter/blur_radius = 0.0630000029925 +shader_parameter/blur_amount = 1.0000000475 +shader_parameter/blur_inner = 0.4950000235125 +shader_parameter/blur_outer = 0.7810000370975 + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_ovqi1"] +noise_type = 2 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_2w03p"] +noise = SubResource("FastNoiseLite_ovqi1") +seamless = true + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_6d8m3"] +noise_type = 2 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_fwgig"] +noise = SubResource("FastNoiseLite_6d8m3") +seamless = true + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_mlppq"] +shader = ExtResource("3_qdnee") +shader_parameter/camera_position = Vector2(0, 0) +shader_parameter/camera_offset = Vector2(0, 0) +shader_parameter/camera_position_speed = 0.010000000475 +shader_parameter/camera_offset_speed = 0.0 +shader_parameter/noise_texture_1 = SubResource("NoiseTexture2D_2w03p") +shader_parameter/noise_texture_2 = SubResource("NoiseTexture2D_fwgig") +shader_parameter/noise_blend = 0.50000002375 +shader_parameter/noise_speed_1 = 0.10000000475 +shader_parameter/noise_speed_2 = 0.010000000475 +shader_parameter/noise_dir_1 = Vector2(1, 1) +shader_parameter/noise_dir_2 = Vector2(1, -1) +shader_parameter/smoke_color = Color(1, 1, 1, 1) +shader_parameter/density = 0.010000000475 + +[sub_resource type="Curve" id="Curve_qdnee"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.4883721, 1), 0.037164874, 0.037164874, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_ovqi1"] +curve = SubResource("Curve_qdnee") + +[sub_resource type="Curve" id="Curve_2w03p"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="Curve" id="Curve_6d8m3"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25581396, 1), 0.0, 0.0, 0, 0, Vector2(0.5023256, 0), 0.0, 0.0, 0, 0, Vector2(0.75348836, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 5 + +[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_fwgig"] +curve_x = SubResource("Curve_2w03p") +curve_y = SubResource("Curve_6d8m3") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mlppq"] +emission_shape = 3 +emission_box_extents = Vector3(1000, 1000, 1) +spread = 10.0 +initial_velocity_min = 100.0 +initial_velocity_max = 200.0 +directional_velocity_min = -100.000015 +directional_velocity_max = 99.999985 +directional_velocity_curve = SubResource("CurveXYZTexture_fwgig") +gravity = Vector3(0, 0, 0) +scale_min = 0.049999997 +scale_max = 0.099999994 +color = Color(0.9, 0.92, 1, 0.4392157) +alpha_curve = SubResource("CurveTexture_ovqi1") [node name="Region" type="Node2D" unique_id=1509166288 node_paths=PackedStringArray("entity_container")] script = ExtResource("1_441sk") entity_container = NodePath("Entities") +[node name="PostProcess" type="CanvasLayer" parent="." unique_id=729471745] + +[node name="Vignette" type="ColorRect" parent="PostProcess" unique_id=2057271511] +material = SubResource("ShaderMaterial_qdnee") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="Fog" type="ColorRect" parent="PostProcess" unique_id=1487713892 node_paths=PackedStringArray("camera")] +material = SubResource("ShaderMaterial_mlppq") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("4_ovqi1") +camera = NodePath("../../Camera") + [node name="PassDay" parent="." unique_id=1144772570 instance=ExtResource("3_ktnx3")] unique_name_in_owner = true @@ -65,3 +162,21 @@ default_info_desc = "MYSTERIOUS_DOOR_TEXT" [node name="Camera" parent="." unique_id=1399042986 node_paths=PackedStringArray("following") instance=ExtResource("8_fwgig")] following = NodePath("../Entities/Player") + +[node name="WindParticles" type="GPUParticles2D" parent="Camera" unique_id=1897174931] +position = Vector2(2, 7) +texture = ExtResource("10_ktnx3") +lifetime = 8.0 +trail_enabled = true +trail_lifetime = 0.09999999999999999 +trail_sections = 16 +process_material = SubResource("ParticleProcessMaterial_mlppq") + +[node name="Fog" type="GPUParticles2D" parent="Camera" unique_id=1024566195] +position = Vector2(2, 7) +texture = ExtResource("10_ktnx3") +lifetime = 8.0 +trail_enabled = true +trail_lifetime = 0.09999999999999999 +trail_sections = 16 +process_material = SubResource("ParticleProcessMaterial_mlppq") diff --git a/stages/terrain/region/scripts/camera_fog.gd b/stages/terrain/region/scripts/camera_fog.gd new file mode 100644 index 0000000..d6489af --- /dev/null +++ b/stages/terrain/region/scripts/camera_fog.gd @@ -0,0 +1,10 @@ +extends ColorRect + +@export var camera : Camera + +func _process(_delta: float) -> void: + if is_node_ready(): + if visible: + if camera: + material.set_shader_parameter( "camera_position", camera.global_position ) + # material.set_shader_parameter( "camera_offset", camera.offset ) \ No newline at end of file diff --git a/stages/terrain/region/scripts/camera_fog.gd.uid b/stages/terrain/region/scripts/camera_fog.gd.uid new file mode 100644 index 0000000..6daeb6e --- /dev/null +++ b/stages/terrain/region/scripts/camera_fog.gd.uid @@ -0,0 +1 @@ +uid://bi8fo6yp25su7 diff --git a/stages/terrain/region/scripts/modifiers/humid_modifier.gd.uid b/stages/terrain/region/scripts/modifiers/humid_modifier.gd.uid new file mode 100644 index 0000000..51f9683 --- /dev/null +++ b/stages/terrain/region/scripts/modifiers/humid_modifier.gd.uid @@ -0,0 +1 @@ +uid://cywdkd1b525xw diff --git a/stages/terrain/region/scripts/region_data.gd b/stages/terrain/region/scripts/region_data.gd index 741177a..00a7bdc 100644 --- a/stages/terrain/region/scripts/region_data.gd +++ b/stages/terrain/region/scripts/region_data.gd @@ -30,9 +30,7 @@ const MAX_RANDOM_SPAWN_DISTANCE = 3000 @export var flags : Array[String] = [] @export var plants : Array[PlantData] -@export var state : State = State.IN_PROGRESS : - set(v): - state = v +@export var state : State = State.IN_PROGRESS @export var chunks_data : Dictionary[String, ChunkData] @@ -70,7 +68,7 @@ func _init( player_position = player_spawn func update(): - if objective > 0 and get_score() >= objective: + if objective > 0 and get_score() >= objective and not "tutorial" in flags: if state != State.SUCCEEDED: succeded.emit() state = State.SUCCEEDED diff --git a/translation/game/gui.csv b/translation/game/gui.csv index 6b35393..a291265 100644 --- a/translation/game/gui.csv +++ b/translation/game/gui.csv @@ -188,6 +188,9 @@ LOCATION,Location,Location LAND_SHIP,Land Ship,Atterrir TAKE_OFF,Take Off,Décoller NO_MORE_ENERGY,No more energy,Plus assez d'énergie +NO_RECHARGE_LEFT,No recharge left,Pas de recharge restante +SHIP_IS_READY_TO_TAKE_OFF,Ship is ready to take off,Le vaisseau est prêt à partir +TUTORIAL_FINISHED,Tutorial finished,Tutoriel terminé CHOOSE_DESTINATION,Choose destination,Choisissez la destination THANKS_FOR_PLAYING,Thanks for playing to the demo!,Merci d’avoir joué à la démo ! JOIN_OUR_INSTAGRAM,Join our Instagram,Rejoins-nous sur Instagram