droppable items and win

This commit is contained in:
Rendo 2025-07-20 22:11:23 +05:00
commit 5bdbfa4d82
47 changed files with 820 additions and 85 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=41 format=3 uid="uid://dd3yegl1xo44m"]
[gd_scene load_steps=42 format=3 uid="uid://dd3yegl1xo44m"]
[ext_resource type="Script" uid="uid://bndu1h5kgcde8" path="res://scripts/level/RuntimeLevelData.cs" id="1_31ltw"]
[ext_resource type="Script" uid="uid://bso32xkw738sy" path="res://scripts/level/PoolContainer.cs" id="2_s5sti"]
@ -281,7 +281,7 @@ length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Fade:self_modulate")
tracks/0/path = NodePath("LooseFade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@ -293,7 +293,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Fade/Brainz:self_modulate")
tracks/1/path = NodePath("LooseFade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@ -305,7 +305,7 @@ tracks/1/keys = {
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Fade:visible")
tracks/2/path = NodePath("LooseFade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
@ -338,6 +338,18 @@ tracks/4/keys = {
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WinFade:color")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 0.92, 0)]
}
[sub_resource type="Animation" id="Animation_h1ksq"]
resource_name = "fade"
@ -345,7 +357,7 @@ length = 4.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Fade:self_modulate")
tracks/0/path = NodePath("LooseFade:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@ -357,7 +369,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Fade/Brainz:self_modulate")
tracks/1/path = NodePath("LooseFade/Brainz:self_modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@ -369,7 +381,7 @@ tracks/1/keys = {
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Fade:visible")
tracks/2/path = NodePath("LooseFade:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
@ -403,10 +415,27 @@ tracks/4/keys = {
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_y72yf"]
resource_name = "win"
length = 5.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("WinFade:color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 4, 5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 0.92, 0), Color(1, 1, 0.92, 0), Color(1, 1, 0.92, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_pb02i"]
_data = {
&"RESET": SubResource("Animation_r81g1"),
&"fade": SubResource("Animation_h1ksq")
&"loose": SubResource("Animation_h1ksq"),
&"win": SubResource("Animation_y72yf")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_y5tw7"]
@ -531,6 +560,10 @@ follow_viewport_enabled = true
[node name="FieldController" parent="Overlay" instance=ExtResource("2_w4oj7")]
[node name="RewardLayer" type="CanvasLayer" parent="."]
layer = 10
follow_viewport_enabled = true
[node name="GUI" type="CanvasLayer" parent="."]
layer = 10
@ -569,7 +602,7 @@ vertical_alignment = 1
process_mode = 3
layer = 11
[node name="Fade" type="ColorRect" parent="GameOverScreen"]
[node name="LooseFade" type="ColorRect" parent="GameOverScreen"]
visible = false
anchors_preset = 15
anchor_right = 1.0
@ -578,18 +611,28 @@ grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="Brainz" type="TextureRect" parent="GameOverScreen/Fade"]
[node name="Brainz" type="TextureRect" parent="GameOverScreen/LooseFade"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 141.0
offset_top = 146.0
offset_top = 125.0
offset_right = -143.0
offset_bottom = -137.0
offset_bottom = -116.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("7_482ps")
stretch_mode = 5
[node name="WinFade" type="ColorRect" parent="GameOverScreen"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(1, 1, 0.92, 0)
[node name="AnimationPlayer" type="AnimationPlayer" parent="GameOverScreen"]
libraries = {
@ -659,11 +702,13 @@ runner = NodePath("../LevelRunner")
[node name="DelayTimer" type="Timer" parent="RowSpawner"]
wait_time = 2.5
[node name="LevelRunner" type="Node" parent="." node_paths=PackedStringArray("rowSpawner", "waveTimer")]
[node name="LevelRunner" type="Node" parent="." node_paths=PackedStringArray("rowSpawner", "waveTimer", "player", "rewardParent")]
script = ExtResource("23_8vb7v")
rowSpawner = NodePath("../RowSpawner")
waveTimer = NodePath("WaveTimer")
approachNotificationTime = 5.0
player = NodePath("../GameOverScreen/AnimationPlayer")
rewardParent = NodePath("../RewardLayer")
[node name="WaveTimer" type="Timer" parent="LevelRunner"]
one_shot = true

View file

@ -0,0 +1,80 @@
[gd_scene load_steps=5 format=3 uid="uid://myjhi5m0eaap"]
[ext_resource type="Script" uid="uid://gymo10tjruj2" path="res://scripts/droppable-items/DroppableSeedpacket.cs" id="1_rir1v"]
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="2_wupw1"]
[sub_resource type="LabelSettings" id="LabelSettings_scv3y"]
resource_local_to_scene = true
font_size = 13
font_color = Color(0, 0, 0, 1)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2c7xr"]
size = Vector2(41, 56)
[node name="PlantReward" type="Area2D" node_paths=PackedStringArray("_cost", "_icon", "_packet")]
script = ExtResource("1_rir1v")
_cost = NodePath("Seedpacket/Cost")
_icon = NodePath("Seedpacket/PlantPreviewContainer/Preview")
_packet = NodePath("Seedpacket")
[node name="Seedpacket" type="TextureRect" parent="."]
anchors_preset = -1
anchor_right = 0.137
anchor_bottom = 0.28
offset_left = -20.5
offset_top = -28.0
offset_right = 20.5
offset_bottom = 28.0
mouse_default_cursor_shape = 2
texture = ExtResource("2_wupw1")
metadata/_edit_use_anchors_ = true
[node name="Cost" type="Label" parent="Seedpacket"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.146
anchor_top = 0.732
anchor_right = 0.854
anchor_bottom = 0.893
offset_left = 0.0279989
offset_top = 0.0159912
offset_right = -0.0279999
offset_bottom = -0.0160065
grow_horizontal = 2
grow_vertical = 2
label_settings = SubResource("LabelSettings_scv3y")
horizontal_alignment = 1
vertical_alignment = 1
text_overrun_behavior = 3
[node name="PlantPreviewContainer" type="Control" parent="Seedpacket"]
clip_contents = true
layout_mode = 1
anchor_left = -0.061
anchor_top = -0.036
anchor_right = 1.061
anchor_bottom = 0.661
offset_left = 0.00199986
offset_top = 0.0320001
offset_right = -0.0019989
offset_bottom = -0.0319977
mouse_filter = 2
[node name="Preview" type="TextureRect" parent="Seedpacket/PlantPreviewContainer"]
layout_mode = 1
anchors_preset = -1
anchor_left = 0.185
anchor_top = 0.205
anchor_right = 0.815
anchor_bottom = 1.333
offset_left = -0.0200005
offset_top = 0.00999928
offset_right = 0.0199966
offset_bottom = 0.0259933
mouse_filter = 2
mouse_default_cursor_shape = 2
expand_mode = 1
stretch_mode = 5
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_2c7xr")