[gd_scene load_steps=50 format=3 uid="uid://daqqurdrnk61h"] [ext_resource type="Script" uid="uid://bue4xxejdsmqh" path="res://snakeManager.gd" id="1_6uqi0"] [ext_resource type="PackedScene" uid="uid://bwoeu7ask0fck" path="res://prefabs/snake_segment.tscn" id="1_8uh7m"] [ext_resource type="Script" uid="uid://cvsonvlgpi43g" path="res://fieldManager.gd" id="1_ehkex"] [ext_resource type="Texture2D" uid="uid://b1sese4p8sck3" path="res://assets/smallMap.png" id="1_vbegm"] [ext_resource type="PackedScene" uid="uid://cusdydgg4b1bo" path="res://prefabs/braincell.tscn" id="2_6uqi0"] [ext_resource type="Script" uid="uid://b0djy8fmq4qjq" path="res://camera_2d.gd" id="5_ykrsh"] [ext_resource type="Script" uid="uid://btw5oi52pxy7d" path="res://apple_pit_man.gd" id="6_77dp3"] [ext_resource type="PackedScene" uid="uid://qpjwodeafyno" path="res://prefabs/apple.tscn" id="6_g14j6"] [ext_resource type="Texture2D" uid="uid://d1qnbjrs54epd" path="res://assets/applePit.png" id="7_0m0f1"] [ext_resource type="PackedScene" uid="uid://bl5py87o1qbgr" path="res://prefabs/wall.tscn" id="7_vbegm"] [ext_resource type="Script" uid="uid://dib0u5gw356nv" path="res://apple_furnace_man.gd" id="8_5tkv4"] [ext_resource type="Texture2D" uid="uid://dfsa7lnulqunr" path="res://assets/furnace.png" id="9_0m0f1"] [ext_resource type="Script" uid="uid://cpav6iuq2hrns" path="res://uiman.gd" id="9_xersf"] [sub_resource type="AtlasTexture" id="AtlasTexture_b0q6j"] atlas = ExtResource("7_0m0f1") region = Rect2(0, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_mhym6"] atlas = ExtResource("7_0m0f1") region = Rect2(128, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_a3se8"] atlas = ExtResource("7_0m0f1") region = Rect2(256, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_uty7l"] atlas = ExtResource("7_0m0f1") region = Rect2(384, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_45l4g"] atlas = ExtResource("7_0m0f1") region = Rect2(512, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_4uo0j"] atlas = ExtResource("7_0m0f1") region = Rect2(0, 128, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_vxl6d"] atlas = ExtResource("7_0m0f1") region = Rect2(128, 128, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_eski5"] atlas = ExtResource("7_0m0f1") region = Rect2(256, 128, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_pdf00"] atlas = ExtResource("7_0m0f1") region = Rect2(384, 128, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_a6gra"] atlas = ExtResource("7_0m0f1") region = Rect2(512, 128, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_dwqlq"] atlas = ExtResource("7_0m0f1") region = Rect2(0, 256, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_15c7i"] atlas = ExtResource("7_0m0f1") region = Rect2(128, 256, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_xpeyw"] atlas = ExtResource("7_0m0f1") region = Rect2(256, 256, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_dpmuy"] atlas = ExtResource("7_0m0f1") region = Rect2(384, 256, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_yww54"] atlas = ExtResource("7_0m0f1") region = Rect2(512, 256, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_j75vh"] atlas = ExtResource("7_0m0f1") region = Rect2(0, 384, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_rrpoi"] atlas = ExtResource("7_0m0f1") region = Rect2(128, 384, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_34fux"] atlas = ExtResource("7_0m0f1") region = Rect2(256, 384, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_ppv7d"] atlas = ExtResource("7_0m0f1") region = Rect2(384, 384, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_naet1"] atlas = ExtResource("7_0m0f1") region = Rect2(512, 384, 128, 128) [sub_resource type="SpriteFrames" id="SpriteFrames_6qlrc"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_b0q6j") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_mhym6") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_a3se8") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_uty7l") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_45l4g") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_4uo0j") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_vxl6d") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_eski5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_pdf00") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_a6gra") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_dwqlq") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_15c7i") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_xpeyw") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_dpmuy") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_yww54") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_j75vh") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_rrpoi") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_34fux") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ppv7d") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_naet1") }], "loop": false, "name": &"default", "speed": 5.0 }] [sub_resource type="LabelSettings" id="LabelSettings_00tp4"] font_size = 36 font_color = Color(1, 0, 0, 1) outline_size = 8 outline_color = Color(1, 0.478431, 1, 1) [sub_resource type="CircleShape2D" id="CircleShape2D_00tp4"] radius = 64.0 [sub_resource type="AtlasTexture" id="AtlasTexture_6qlrc"] atlas = ExtResource("9_0m0f1") region = Rect2(0, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_shobf"] atlas = ExtResource("9_0m0f1") region = Rect2(128, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_lb1cv"] atlas = ExtResource("9_0m0f1") region = Rect2(256, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_2h37t"] atlas = ExtResource("9_0m0f1") region = Rect2(384, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_adp8l"] atlas = ExtResource("9_0m0f1") region = Rect2(512, 0, 128, 128) [sub_resource type="AtlasTexture" id="AtlasTexture_dvnpp"] atlas = ExtResource("9_0m0f1") region = Rect2(0, 128, 128, 128) [sub_resource type="SpriteFrames" id="SpriteFrames_ffwl0"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_6qlrc") }], "loop": false, "name": &"off", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_shobf") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_lb1cv") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_2h37t") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_adp8l") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_dvnpp") }], "loop": true, "name": &"on", "speed": 6.0 }] [sub_resource type="CircleShape2D" id="CircleShape2D_77dp3"] radius = 64.0 [sub_resource type="LabelSettings" id="LabelSettings_77dp3"] font_size = 36 font_color = Color(1, 0.490271, 0.0740941, 1) outline_size = 8 outline_color = Color(0.87451, 0, 0, 1) [sub_resource type="Gradient" id="Gradient_0m0f1"] colors = PackedColorArray(0, 0.662745, 0, 1, 0, 0.428325, 0.224898, 1) [sub_resource type="CircleShape2D" id="CircleShape2D_ehkex"] radius = 50.0 [sub_resource type="LabelSettings" id="LabelSettings_5tkv4"] [sub_resource type="LabelSettings" id="LabelSettings_0m0f1"] font_size = 31 font_color = Color(0.84956, 3.29696e-06, 1.54018e-06, 1) outline_size = 3 outline_color = Color(0, 0, 0, 1) [node name="Node2D" type="Node2D" node_paths=PackedStringArray("test_area")] script = ExtResource("1_ehkex") top_left = Vector2(-1600, -1600) test_area = NodePath("TestArea") [node name="Sprite2D" type="Sprite2D" parent="."] position = Vector2(-160, -160) scale = Vector2(320, 320) texture = ExtResource("1_vbegm") [node name="Snake" type="Node2D" parent="." node_paths=PackedStringArray("segements_holder", "snake_line", "player")] script = ExtResource("1_6uqi0") segements_holder = NodePath("SegementHolder") SNAKE_SPEED = 0.4 snake_line = NodePath("Line2D") player = NodePath("SegementHolder/SnakeSegment/Braincell") [node name="SegementHolder" type="Node2D" parent="Snake"] [node name="SnakeSegment" parent="Snake/SegementHolder" instance=ExtResource("1_8uh7m")] is_head = true [node name="Braincell" parent="Snake/SegementHolder/SnakeSegment" instance=ExtResource("2_6uqi0")] [node name="ApplePit" type="Node2D" parent="Snake/SegementHolder/SnakeSegment" node_paths=PackedStringArray("snake_man", "count", "my_area", "brain", "pit_sprite")] script = ExtResource("6_77dp3") snake_man = NodePath("../../..") count = NodePath("Label") my_area = NodePath("Area2D") brain = NodePath("../Braincell") pit_sprite = NodePath("Sprite2D") [node name="Sprite2D" type="AnimatedSprite2D" parent="Snake/SegementHolder/SnakeSegment/ApplePit"] sprite_frames = SubResource("SpriteFrames_6qlrc") [node name="Label" type="Label" parent="Snake/SegementHolder/SnakeSegment/ApplePit"] offset_left = -80.0 offset_right = 80.0 offset_bottom = 80.0 text = "3" label_settings = SubResource("LabelSettings_00tp4") horizontal_alignment = 1 vertical_alignment = 2 [node name="Area2D" type="Area2D" parent="Snake/SegementHolder/SnakeSegment/ApplePit"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Snake/SegementHolder/SnakeSegment/ApplePit/Area2D"] shape = SubResource("CircleShape2D_00tp4") debug_color = Color(0.988946, 0, 0.296194, 0.42) [node name="SnakeSegment2" parent="Snake/SegementHolder" node_paths=PackedStringArray("next_segment") instance=ExtResource("1_8uh7m")] position = Vector2(-320, 0) next_segment = NodePath("../SnakeSegment") door_disabled = true [node name="AppleFurnace" type="Node2D" parent="Snake/SegementHolder/SnakeSegment2" node_paths=PackedStringArray("snake_man", "count", "my_area", "brain", "furnace_sprite")] script = ExtResource("8_5tkv4") snake_man = NodePath("../../..") count = NodePath("Label2") my_area = NodePath("Area2D") brain = NodePath("../../SnakeSegment/Braincell") furnace_sprite = NodePath("Sprite2D") [node name="Sprite2D" type="AnimatedSprite2D" parent="Snake/SegementHolder/SnakeSegment2/AppleFurnace"] sprite_frames = SubResource("SpriteFrames_ffwl0") animation = &"off" autoplay = "off" frame_progress = 1.0 [node name="Area2D" type="Area2D" parent="Snake/SegementHolder/SnakeSegment2/AppleFurnace"] [node name="CollisionShape2D" type="CollisionShape2D" parent="Snake/SegementHolder/SnakeSegment2/AppleFurnace/Area2D"] shape = SubResource("CircleShape2D_77dp3") debug_color = Color(0.878864, 0.340076, 3.85046e-07, 0.42) [node name="Label2" type="Label" parent="Snake/SegementHolder/SnakeSegment2/AppleFurnace"] offset_left = -80.0 offset_right = 80.0 offset_bottom = 80.0 text = "3" label_settings = SubResource("LabelSettings_77dp3") horizontal_alignment = 1 vertical_alignment = 2 [node name="SnakeSegment3" parent="Snake/SegementHolder" node_paths=PackedStringArray("next_segment") instance=ExtResource("1_8uh7m")] position = Vector2(-640, 0) next_segment = NodePath("../SnakeSegment2") door_disabled = true [node name="Line2D" type="Line2D" parent="Snake"] width = 330.0 default_color = Color(0, 0.662728, 1.54018e-06, 1) gradient = SubResource("Gradient_0m0f1") joint_mode = 2 begin_cap_mode = 2 end_cap_mode = 2 [node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("snake_line", "player")] zoom = Vector2(0.1, 0.1) script = ExtResource("5_ykrsh") snake_line = NodePath("../Snake/Line2D") player = NodePath("../Snake/SegementHolder/SnakeSegment/Braincell") [node name="Apple" parent="." instance=ExtResource("6_g14j6")] position = Vector2(0, -640) [node name="Apple2" parent="." instance=ExtResource("6_g14j6")] position = Vector2(640, 0) [node name="Wall" parent="." instance=ExtResource("7_vbegm")] position = Vector2(-160, -1920) [node name="Wall2" parent="." instance=ExtResource("7_vbegm")] position = Vector2(-160, 1600) [node name="Wall3" parent="." instance=ExtResource("7_vbegm")] position = Vector2(-1920, -160) rotation = 1.5708 [node name="Wall4" parent="." instance=ExtResource("7_vbegm")] position = Vector2(1600, -160) rotation = 1.5708 [node name="Marker2D" type="Marker2D" parent="."] position = Vector2(-1600, -1600) [node name="TestArea" type="Area2D" parent="."] visible = false [node name="CollisionShape2D" type="CollisionShape2D" parent="TestArea"] shape = SubResource("CircleShape2D_ehkex") [node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="Control" type="Control" parent="CanvasLayer" node_paths=PackedStringArray("food_bar", "snake_manager", "score_label", "speed_label", "gameover_score_label", "gameover_screen")] process_mode = 3 layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("9_xersf") food_bar = NodePath("PanelContainer/HBoxContainer/ProgressBar") snake_manager = NodePath("../../Snake") score_label = NodePath("Score Panel/VBoxContainer/score_label") speed_label = NodePath("Speed Panel/VBoxContainer/speed_label") gameover_score_label = NodePath("game over screen/PanelContainer/VBoxContainer/gameoverscorelabel") gameover_screen = NodePath("game over screen") [node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/Control"] layout_mode = 1 anchors_preset = 12 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 0 [node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/Control/PanelContainer"] layout_mode = 2 [node name="Label" type="Label" parent="CanvasLayer/Control/PanelContainer/HBoxContainer"] layout_mode = 2 text = "Food:" [node name="ProgressBar" type="ProgressBar" parent="CanvasLayer/Control/PanelContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 step = 0.0 [node name="Score Panel" type="PanelContainer" parent="CanvasLayer/Control"] layout_mode = 0 offset_right = 50.0 offset_bottom = 50.0 [node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/Control/Score Panel"] layout_mode = 2 [node name="Label" type="Label" parent="CanvasLayer/Control/Score Panel/VBoxContainer"] layout_mode = 2 text = "Score" horizontal_alignment = 1 [node name="score_label" type="Label" parent="CanvasLayer/Control/Score Panel/VBoxContainer"] layout_mode = 2 text = "0" horizontal_alignment = 1 [node name="Speed Panel" type="PanelContainer" parent="CanvasLayer/Control"] layout_mode = 1 anchors_preset = 1 anchor_left = 1.0 anchor_right = 1.0 offset_left = -50.0 offset_bottom = 50.0 grow_horizontal = 0 [node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/Control/Speed Panel"] layout_mode = 2 [node name="Label2" type="Label" parent="CanvasLayer/Control/Speed Panel/VBoxContainer"] layout_mode = 2 text = "Speed" horizontal_alignment = 1 [node name="speed_label" type="Label" parent="CanvasLayer/Control/Speed Panel/VBoxContainer"] layout_mode = 2 text = "0.3" label_settings = SubResource("LabelSettings_5tkv4") horizontal_alignment = 1 [node name="game over screen" type="MarginContainer" parent="CanvasLayer/Control"] visible = false 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 = 200 theme_override_constants/margin_top = 90 theme_override_constants/margin_right = 200 theme_override_constants/margin_bottom = 90 [node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/Control/game over screen"] layout_mode = 2 [node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/Control/game over screen/PanelContainer"] layout_mode = 2 [node name="Label" type="Label" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer"] layout_mode = 2 text = "Game Over" label_settings = SubResource("LabelSettings_0m0f1") horizontal_alignment = 1 [node name="HSeparator" type="HSeparator" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer"] layout_mode = 2 [node name="Label2" type="Label" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer"] layout_mode = 2 text = "Score:" horizontal_alignment = 1 [node name="gameoverscorelabel" type="RichTextLabel" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer"] layout_mode = 2 size_flags_vertical = 3 theme_override_font_sizes/normal_font_size = 40 bbcode_enabled = true text = "[wave]200" fit_content = true horizontal_alignment = 1 vertical_alignment = 1 [node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer"] layout_mode = 2 [node name="MenuButton" type="Button" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Menu" [node name="AgainButton" type="Button" parent="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Play Again!" [connection signal="pressed" from="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer/HBoxContainer/MenuButton" to="CanvasLayer/Control" method="_on_menu_button_pressed"] [connection signal="pressed" from="CanvasLayer/Control/game over screen/PanelContainer/VBoxContainer/HBoxContainer/AgainButton" to="CanvasLayer/Control" method="_on_again_button_pressed"]