diff --git a/Prefabs/coin.gd b/Prefabs/coin.gd new file mode 100644 index 0000000..9e2c509 --- /dev/null +++ b/Prefabs/coin.gd @@ -0,0 +1,19 @@ +extends Area2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + modulate = Storyteller.current_coin_color + + +func _on_body_entered(body: Node2D) -> void: + if body is RigidBody2D: + #body.apply_force((body.global_position - global_position).normalized() *10000) + #body.linear_velocity = (body.global_position - global_position).normalized() *100 + queue_free() + body.got_points.emit() diff --git a/Prefabs/coin.gd.uid b/Prefabs/coin.gd.uid new file mode 100644 index 0000000..dc762cb --- /dev/null +++ b/Prefabs/coin.gd.uid @@ -0,0 +1 @@ +uid://do7o4q625abg3 diff --git a/Prefabs/coin.tscn b/Prefabs/coin.tscn new file mode 100644 index 0000000..1b19065 --- /dev/null +++ b/Prefabs/coin.tscn @@ -0,0 +1,73 @@ +[gd_scene load_steps=11 format=3 uid="uid://b7km814mwwsvv"] + +[ext_resource type="Script" uid="uid://do7o4q625abg3" path="res://Prefabs/coin.gd" id="1_ilgmi"] +[ext_resource type="Texture2D" uid="uid://bnd3eacyt5x70" path="res://Sprites/coinspin.png" id="2_cbfdx"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_oi7sn"] +atlas = ExtResource("2_cbfdx") +region = Rect2(0, 0, 15, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_thoqv"] +atlas = ExtResource("2_cbfdx") +region = Rect2(15, 0, 15, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h4ckm"] +atlas = ExtResource("2_cbfdx") +region = Rect2(30, 0, 15, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ewynv"] +atlas = ExtResource("2_cbfdx") +region = Rect2(45, 0, 15, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i2k62"] +atlas = ExtResource("2_cbfdx") +region = Rect2(60, 0, 15, 15) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2p4i"] +atlas = ExtResource("2_cbfdx") +region = Rect2(75, 0, 15, 15) + +[sub_resource type="SpriteFrames" id="SpriteFrames_4nl6u"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_oi7sn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_thoqv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h4ckm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ewynv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i2k62") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2p4i") +}], +"loop": true, +"name": &"new_animation", +"speed": 10.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_ar03h"] +radius = 6.0 + +[node name="Coin" type="Area2D"] +script = ExtResource("1_ilgmi") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +scale = Vector2(0.8, 0.8) +sprite_frames = SubResource("SpriteFrames_4nl6u") +animation = &"new_animation" +autoplay = "new_animation" +frame_progress = 0.29463264 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +shape = SubResource("CircleShape2D_ar03h") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/Sprites/coinspin.png b/Sprites/coinspin.png new file mode 100644 index 0000000..7e3c26e Binary files /dev/null and b/Sprites/coinspin.png differ diff --git a/Sprites/coinspin.png.import b/Sprites/coinspin.png.import new file mode 100644 index 0000000..5426847 --- /dev/null +++ b/Sprites/coinspin.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnd3eacyt5x70" +path="res://.godot/imported/coinspin.png-510761113102a1b0b127b91a2af3e58f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/coinspin.png" +dest_files=["res://.godot/imported/coinspin.png-510761113102a1b0b127b91a2af3e58f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Sprites/coinspin.pxo b/Sprites/coinspin.pxo new file mode 100644 index 0000000..f88b68a Binary files /dev/null and b/Sprites/coinspin.pxo differ diff --git a/game.tscn b/game.tscn index 212e514..3d9de10 100644 --- a/game.tscn +++ b/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=4 uid="uid://hv07lm2tjwn4"] +[gd_scene load_steps=34 format=4 uid="uid://hv07lm2tjwn4"] [ext_resource type="PackedScene" uid="uid://crrbht7mwhgyc" path="res://Prefabs/lander.tscn" id="1_80nbo"] [ext_resource type="Script" uid="uid://bltj2frs6vqwj" path="res://autoscroll.gd" id="1_feb5d"] @@ -7,10 +7,12 @@ [ext_resource type="Texture2D" uid="uid://evhjxwdbsmlo" path="res://Sprites/start.png" id="2_e2o6t"] [ext_resource type="Texture2D" uid="uid://cgvqs4g0bnol1" path="res://Sprites/sheilds.png" id="3_vef74"] [ext_resource type="PackedScene" uid="uid://cfdsa5scvso6m" path="res://Prefabs/spare_battery.tscn" id="4_eow3j"] +[ext_resource type="Texture2D" uid="uid://lkj8ecm5p4g6" path="res://icon.svg" id="5_iotsf"] [ext_resource type="Script" uid="uid://dd8psfqfobgau" path="res://test_obstacle_spawner.gd" id="6_vef74"] [ext_resource type="Script" uid="uid://b3w38e1a77qr0" path="res://screen_borders.gd" id="7_mfdv2"] [ext_resource type="PackedScene" uid="uid://jb677rdhbj83" path="res://Prefabs/obstacle.tscn" id="8_j5wjh"] [ext_resource type="PackedScene" uid="uid://bbtky034ivm5o" path="res://Prefabs/newObstacle.tscn" id="8_vef74"] +[ext_resource type="PackedScene" uid="uid://b7km814mwwsvv" path="res://Prefabs/coin.tscn" id="13_lc2xo"] [sub_resource type="Gradient" id="Gradient_mwb40"] offsets = PackedFloat32Array(0.806763, 1) @@ -23,8 +25,8 @@ domain_warp_amplitude = 43.465 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mwb40"] width = 6400 height = 360 -color_ramp = SubResource("Gradient_mwb40") noise = SubResource("FastNoiseLite_80nbo") +color_ramp = SubResource("Gradient_mwb40") [sub_resource type="AtlasTexture" id="AtlasTexture_hve3p"] atlas = ExtResource("3_vef74") @@ -83,6 +85,21 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_lc2xo"] +content_margin_left = 3.0 +content_margin_top = 3.0 +content_margin_right = 3.0 +content_margin_bottom = 3.0 +bg_color = Color(0.27387288, 0.2738727, 0.27387273, 0.6) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 + +[sub_resource type="LabelSettings" id="LabelSettings_215e1"] +font_size = 20 + [sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_mfdv2"] normal = Vector2(1, 0) @@ -99,14 +116,17 @@ size = Vector2(115, 20) [sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_hve3p"] scenes/1/scene = ExtResource("8_vef74") +scenes/2/scene = ExtResource("13_lc2xo") [sub_resource type="TileSet" id="TileSet_mfdv2"] physics_layer_0/collision_layer = 1 sources/0 = SubResource("TileSetScenesCollectionSource_hve3p") -[node name="Game" type="Node2D" node_paths=PackedStringArray("hp_bar")] +[node name="Game" type="Node2D" node_paths=PackedStringArray("hp_bar", "score_label")] script = ExtResource("1_hve3p") hp_bar = NodePath("CanvasLayer/UI/Sheilds/AnimatedSprite2D") +combo_colors = Array[Color]([Color(1, 0.70145667, 0.16219577, 1), Color(0.3137255, 0.8352941, 0, 1), Color(0, 0.82264274, 0.74572664, 1), Color(0.39216104, 0.62102085, 1, 1), Color(0.78915083, 0.4211687, 1, 1)]) +score_label = NodePath("CanvasLayer/UI/PanelContainer/ScoresUI/ScoreLabel") [node name="CanvasLayer" type="CanvasLayer" parent="."] @@ -129,6 +149,7 @@ grow_horizontal = 2 grow_vertical = 2 [node name="BatteryHolder" type="HBoxContainer" parent="CanvasLayer/UI" node_paths=PackedStringArray("current_battery")] +visible = false layout_mode = 1 offset_right = 68.0 offset_bottom = 32.0 @@ -150,18 +171,46 @@ layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 +offset_left = 535.0 +offset_bottom = -324.0 grow_horizontal = 2 grow_vertical = 2 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="CanvasLayer/UI/Sheilds"] -position = Vector2(589, 19) +position = Vector2(53, 19) scale = Vector2(2, 2) sprite_frames = SubResource("SpriteFrames_e8heu") +[node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/UI"] +layout_mode = 0 +offset_left = 3.0 +offset_top = 3.0 +offset_right = 135.0 +offset_bottom = 37.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_lc2xo") + +[node name="ScoresUI" type="HBoxContainer" parent="CanvasLayer/UI/PanelContainer"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="CanvasLayer/UI/PanelContainer/ScoresUI"] +layout_mode = 2 +texture = ExtResource("5_iotsf") +expand_mode = 3 +stretch_mode = 6 + +[node name="ScoreLabel" type="Label" parent="CanvasLayer/UI/PanelContainer/ScoresUI"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "123" +label_settings = SubResource("LabelSettings_215e1") +horizontal_alignment = 2 +vertical_alignment = 1 + [node name="Camera2D" type="Camera2D" parent="."] anchor_mode = 0 script = ExtResource("1_feb5d") -camera_speed = 30.0 +camera_speed = 15.0 [node name="TestObstacleSpawner" type="Node2D" parent="Camera2D"] process_mode = 4 @@ -241,7 +290,7 @@ visible = false position = Vector2(549, 39) [node name="TileMapLayer" type="TileMapLayer" parent="."] -tile_map_data = PackedByteArray("AAAOABQAAAAAAAAAAQAPABUAAAAAAAAAAQAQABQAAAAAAAAAAQARABUAAAAAAAAAAQASABQAAAAAAAAAAQARAAsAAAAAAAAAAQASAAoAAAAAAAAAAQATAAsAAAAAAAAAAQAUAAoAAAAAAAAAAQAVAAsAAAAAAAAAAQAUAAwAAAAAAAAAAQASAAwAAAAAAAAAAQAdABIAAAAAAAAAAQAeABEAAAAAAAAAAQAeABMAAAAAAAAAAQAfABIAAAAAAAAAAQAgABEAAAAAAAAAAQAgABMAAAAAAAAAAQAhABIAAAAAAAAAAQAeAAMAAAAAAAAAAQAfAAQAAAAAAAAAAQAfAAIAAAAAAAAAAQAgAAMAAAAAAAAAAQAhAAIAAAAAAAAAAQAhAAQAAAAAAAAAAQAiAAMAAAAAAAAAAQAmABUAAAAAAAAAAQAnABQAAAAAAAAAAQAoABMAAAAAAAAAAQApABIAAAAAAAAAAQAqABEAAAAAAAAAAQArABAAAAAAAAAAAQAsAA8AAAAAAAAAAQAtAA4AAAAAAAAAAQAuAA0AAAAAAAAAAQAvAAwAAAAAAAAAAQAwAAsAAAAAAAAAAQAxAAoAAAAAAAAAAQAyAAkAAAAAAAAAAQAzAAgAAAAAAAAAAQBAAAAAAAAAAAAAAQBAAAIAAAAAAAAAAQBAAAQAAAAAAAAAAQBAAAYAAAAAAAAAAQBAAAgAAAAAAAAAAQBAAAoAAAAAAAAAAQA+AAwAAAAAAAAAAQA8AA4AAAAAAAAAAQA6ABAAAAAAAAAAAQA7AA8AAAAAAAAAAQA9AA0AAAAAAAAAAQA/AAsAAAAAAAAAAQAnAAgAAAAAAAAAAQAoAAcAAAAAAAAAAQAoAAkAAAAAAAAAAQApAAgAAAAAAAAAAQAqAAkAAAAAAAAAAQAqAAcAAAAAAAAAAQArAAgAAAAAAAAAAQA8ABAAAAAAAAAAAQA+ABAAAAAAAAAAAQBAABAAAAAAAAAAAQBCABAAAAAAAAAAAQBEABAAAAAAAAAAAQBGABAAAAAAAAAAAQBIABAAAAAAAAAAAQBKABAAAAAAAAAAAQBMABAAAAAAAAAAAQBOABAAAAAAAAAAAQBTABAAAAAAAAAAAQBTABIAAAAAAAAAAQBTAA4AAAAAAAAAAQBTABUAAAAAAAAAAQBSAAwAAAAAAAAAAQBQAAsAAAAAAAAAAQBOAAsAAAAAAAAAAQBMAAsAAAAAAAAAAQBKAAsAAAAAAAAAAQBBAAsAAAAAAAAAAQBDAAsAAAAAAAAAAQBFAAsAAAAAAAAAAQBFAAkAAAAAAAAAAQBKAAkAAAAAAAAAAQBFAAcAAAAAAAAAAQBKAAcAAAAAAAAAAQBFAAUAAAAAAAAAAQBKAAUAAAAAAAAAAQBGAAIAAAAAAAAAAQBJAAEAAAAAAAAAAQBLAAEAAAAAAAAAAQBMAAUAAAAAAAAAAQBNAAEAAAAAAAAAAQBOAAUAAAAAAAAAAQBPAAEAAAAAAAAAAQBQAAUAAAAAAAAAAQBRAAEAAAAAAAAAAQBSAAUAAAAAAAAAAQBTAAEAAAAAAAAAAQA=") +tile_map_data = PackedByteArray("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") tile_set = SubResource("TileSet_mfdv2") [connection signal="body_entered" from="Camera2D/borders/screenBorders" to="Camera2D/borders/screenBorders" method="_on_body_entered"] @@ -249,103 +298,150 @@ tile_set = SubResource("TileSet_mfdv2") [connection signal="body_entered" from="Camera2D/borders/screenBorders3" to="Camera2D/borders/screenBorders3" method="_on_body_entered"] [connection signal="body_entered" from="Camera2D/borders/screenBorders4" to="Camera2D/borders/screenBorders4" method="_on_body_entered"] [connection signal="got_hit" from="Lander" to="." method="_on_lander_got_hit"] +[connection signal="got_points" from="Lander" to="." method="_on_lander_got_points"] [connection signal="moved" from="Lander" to="Camera2D" method="_on_lander_moved"] [connection signal="moved" from="Lander" to="Camera2D/TestObstacleSpawner" method="_on_lander_moved"] -[connection signal="body_entered" from="TileMapLayer/NewObstacle" to="TileMapLayer/NewObstacle" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22285" to="TileMapLayer/@Area2D@22285" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22286" to="TileMapLayer/@Area2D@22286" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22287" to="TileMapLayer/@Area2D@22287" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22288" to="TileMapLayer/@Area2D@22288" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22289" to="TileMapLayer/@Area2D@22289" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22290" to="TileMapLayer/@Area2D@22290" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22291" to="TileMapLayer/@Area2D@22291" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22292" to="TileMapLayer/@Area2D@22292" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22293" to="TileMapLayer/@Area2D@22293" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22294" to="TileMapLayer/@Area2D@22294" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22295" to="TileMapLayer/@Area2D@22295" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22296" to="TileMapLayer/@Area2D@22296" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22297" to="TileMapLayer/@Area2D@22297" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22298" to="TileMapLayer/@Area2D@22298" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22299" to="TileMapLayer/@Area2D@22299" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22300" to="TileMapLayer/@Area2D@22300" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22301" to="TileMapLayer/@Area2D@22301" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22302" to="TileMapLayer/@Area2D@22302" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22303" to="TileMapLayer/@Area2D@22303" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22304" to="TileMapLayer/@Area2D@22304" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22305" to="TileMapLayer/@Area2D@22305" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22306" to="TileMapLayer/@Area2D@22306" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22307" to="TileMapLayer/@Area2D@22307" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22308" to="TileMapLayer/@Area2D@22308" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22309" to="TileMapLayer/@Area2D@22309" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22310" to="TileMapLayer/@Area2D@22310" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22311" to="TileMapLayer/@Area2D@22311" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22312" to="TileMapLayer/@Area2D@22312" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22313" to="TileMapLayer/@Area2D@22313" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22314" to="TileMapLayer/@Area2D@22314" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22315" to="TileMapLayer/@Area2D@22315" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22316" to="TileMapLayer/@Area2D@22316" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22317" to="TileMapLayer/@Area2D@22317" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22318" to="TileMapLayer/@Area2D@22318" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22319" to="TileMapLayer/@Area2D@22319" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22320" to="TileMapLayer/@Area2D@22320" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22321" to="TileMapLayer/@Area2D@22321" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22322" to="TileMapLayer/@Area2D@22322" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22323" to="TileMapLayer/@Area2D@22323" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22324" to="TileMapLayer/@Area2D@22324" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22325" to="TileMapLayer/@Area2D@22325" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22326" to="TileMapLayer/@Area2D@22326" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22327" to="TileMapLayer/@Area2D@22327" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22328" to="TileMapLayer/@Area2D@22328" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22329" to="TileMapLayer/@Area2D@22329" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22330" to="TileMapLayer/@Area2D@22330" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22331" to="TileMapLayer/@Area2D@22331" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22332" to="TileMapLayer/@Area2D@22332" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22333" to="TileMapLayer/@Area2D@22333" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22334" to="TileMapLayer/@Area2D@22334" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22335" to="TileMapLayer/@Area2D@22335" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22336" to="TileMapLayer/@Area2D@22336" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22337" to="TileMapLayer/@Area2D@22337" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22338" to="TileMapLayer/@Area2D@22338" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22339" to="TileMapLayer/@Area2D@22339" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22340" to="TileMapLayer/@Area2D@22340" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22341" to="TileMapLayer/@Area2D@22341" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22342" to="TileMapLayer/@Area2D@22342" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22343" to="TileMapLayer/@Area2D@22343" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22344" to="TileMapLayer/@Area2D@22344" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22345" to="TileMapLayer/@Area2D@22345" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22346" to="TileMapLayer/@Area2D@22346" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22347" to="TileMapLayer/@Area2D@22347" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22348" to="TileMapLayer/@Area2D@22348" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22349" to="TileMapLayer/@Area2D@22349" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22350" to="TileMapLayer/@Area2D@22350" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22351" to="TileMapLayer/@Area2D@22351" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22352" to="TileMapLayer/@Area2D@22352" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22353" to="TileMapLayer/@Area2D@22353" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22354" to="TileMapLayer/@Area2D@22354" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22355" to="TileMapLayer/@Area2D@22355" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22356" to="TileMapLayer/@Area2D@22356" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22357" to="TileMapLayer/@Area2D@22357" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22358" to="TileMapLayer/@Area2D@22358" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22359" to="TileMapLayer/@Area2D@22359" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22360" to="TileMapLayer/@Area2D@22360" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22361" to="TileMapLayer/@Area2D@22361" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22362" to="TileMapLayer/@Area2D@22362" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22363" to="TileMapLayer/@Area2D@22363" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22364" to="TileMapLayer/@Area2D@22364" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22365" to="TileMapLayer/@Area2D@22365" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22366" to="TileMapLayer/@Area2D@22366" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22367" to="TileMapLayer/@Area2D@22367" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22368" to="TileMapLayer/@Area2D@22368" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22369" to="TileMapLayer/@Area2D@22369" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22370" to="TileMapLayer/@Area2D@22370" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22371" to="TileMapLayer/@Area2D@22371" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22372" to="TileMapLayer/@Area2D@22372" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22373" to="TileMapLayer/@Area2D@22373" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22374" to="TileMapLayer/@Area2D@22374" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22375" to="TileMapLayer/@Area2D@22375" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22376" to="TileMapLayer/@Area2D@22376" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22377" to="TileMapLayer/@Area2D@22377" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22378" to="TileMapLayer/@Area2D@22378" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22379" to="TileMapLayer/@Area2D@22379" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22380" to="TileMapLayer/@Area2D@22380" method="_on_body_entered"] -[connection signal="body_entered" from="TileMapLayer/@Area2D@22381" to="TileMapLayer/@Area2D@22381" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63672" to="TileMapLayer/@Area2D@63672" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63673" to="TileMapLayer/@Area2D@63673" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63674" to="TileMapLayer/@Area2D@63674" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63675" to="TileMapLayer/@Area2D@63675" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63676" to="TileMapLayer/@Area2D@63676" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63677" to="TileMapLayer/@Area2D@63677" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63678" to="TileMapLayer/@Area2D@63678" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63679" to="TileMapLayer/@Area2D@63679" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63680" to="TileMapLayer/@Area2D@63680" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63681" to="TileMapLayer/@Area2D@63681" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63682" to="TileMapLayer/@Area2D@63682" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63683" to="TileMapLayer/@Area2D@63683" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63684" to="TileMapLayer/@Area2D@63684" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63685" to="TileMapLayer/@Area2D@63685" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63686" to="TileMapLayer/@Area2D@63686" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63687" to="TileMapLayer/@Area2D@63687" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63688" to="TileMapLayer/@Area2D@63688" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63689" to="TileMapLayer/@Area2D@63689" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63690" to="TileMapLayer/@Area2D@63690" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63691" to="TileMapLayer/@Area2D@63691" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63692" to="TileMapLayer/@Area2D@63692" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63693" to="TileMapLayer/@Area2D@63693" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63694" to="TileMapLayer/@Area2D@63694" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63695" to="TileMapLayer/@Area2D@63695" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63696" to="TileMapLayer/@Area2D@63696" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63697" to="TileMapLayer/@Area2D@63697" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63698" to="TileMapLayer/@Area2D@63698" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63699" to="TileMapLayer/@Area2D@63699" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63700" to="TileMapLayer/@Area2D@63700" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63701" to="TileMapLayer/@Area2D@63701" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63702" to="TileMapLayer/@Area2D@63702" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63703" to="TileMapLayer/@Area2D@63703" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63704" to="TileMapLayer/@Area2D@63704" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63705" to="TileMapLayer/@Area2D@63705" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63706" to="TileMapLayer/@Area2D@63706" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63707" to="TileMapLayer/@Area2D@63707" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63708" to="TileMapLayer/@Area2D@63708" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63709" to="TileMapLayer/@Area2D@63709" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63710" to="TileMapLayer/@Area2D@63710" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63711" to="TileMapLayer/@Area2D@63711" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63712" to="TileMapLayer/@Area2D@63712" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63713" to="TileMapLayer/@Area2D@63713" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63714" to="TileMapLayer/@Area2D@63714" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63715" to="TileMapLayer/@Area2D@63715" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63716" to="TileMapLayer/@Area2D@63716" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63717" to="TileMapLayer/@Area2D@63717" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63718" to="TileMapLayer/@Area2D@63718" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63719" to="TileMapLayer/@Area2D@63719" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63720" to="TileMapLayer/@Area2D@63720" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63721" to="TileMapLayer/@Area2D@63721" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63722" to="TileMapLayer/@Area2D@63722" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63723" to="TileMapLayer/@Area2D@63723" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63724" to="TileMapLayer/@Area2D@63724" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63725" to="TileMapLayer/@Area2D@63725" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63726" to="TileMapLayer/@Area2D@63726" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63727" to="TileMapLayer/@Area2D@63727" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63728" to="TileMapLayer/@Area2D@63728" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63729" to="TileMapLayer/@Area2D@63729" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63730" to="TileMapLayer/@Area2D@63730" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63731" to="TileMapLayer/@Area2D@63731" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63732" to="TileMapLayer/@Area2D@63732" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63733" to="TileMapLayer/@Area2D@63733" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63734" to="TileMapLayer/@Area2D@63734" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63735" to="TileMapLayer/@Area2D@63735" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63736" to="TileMapLayer/@Area2D@63736" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63737" to="TileMapLayer/@Area2D@63737" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63738" to="TileMapLayer/@Area2D@63738" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63739" to="TileMapLayer/@Area2D@63739" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63740" to="TileMapLayer/@Area2D@63740" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63741" to="TileMapLayer/@Area2D@63741" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63742" to="TileMapLayer/@Area2D@63742" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63743" to="TileMapLayer/@Area2D@63743" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63744" to="TileMapLayer/@Area2D@63744" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63745" to="TileMapLayer/@Area2D@63745" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63746" to="TileMapLayer/@Area2D@63746" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63747" to="TileMapLayer/@Area2D@63747" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63748" to="TileMapLayer/@Area2D@63748" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63749" to="TileMapLayer/@Area2D@63749" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63750" to="TileMapLayer/@Area2D@63750" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63751" to="TileMapLayer/@Area2D@63751" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63752" to="TileMapLayer/@Area2D@63752" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63753" to="TileMapLayer/@Area2D@63753" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63754" to="TileMapLayer/@Area2D@63754" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63755" to="TileMapLayer/@Area2D@63755" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63756" to="TileMapLayer/@Area2D@63756" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63757" to="TileMapLayer/@Area2D@63757" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63758" to="TileMapLayer/@Area2D@63758" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63759" to="TileMapLayer/@Area2D@63759" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63760" to="TileMapLayer/@Area2D@63760" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63761" to="TileMapLayer/@Area2D@63761" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63762" to="TileMapLayer/@Area2D@63762" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63763" to="TileMapLayer/@Area2D@63763" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63764" to="TileMapLayer/@Area2D@63764" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63765" to="TileMapLayer/@Area2D@63765" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63766" to="TileMapLayer/@Area2D@63766" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63767" to="TileMapLayer/@Area2D@63767" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63768" to="TileMapLayer/@Area2D@63768" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63769" to="TileMapLayer/@Area2D@63769" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/Coin" to="TileMapLayer/Coin" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63770" to="TileMapLayer/@Area2D@63770" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63771" to="TileMapLayer/@Area2D@63771" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63772" to="TileMapLayer/@Area2D@63772" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63773" to="TileMapLayer/@Area2D@63773" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63774" to="TileMapLayer/@Area2D@63774" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63775" to="TileMapLayer/@Area2D@63775" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63776" to="TileMapLayer/@Area2D@63776" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63777" to="TileMapLayer/@Area2D@63777" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63778" to="TileMapLayer/@Area2D@63778" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63779" to="TileMapLayer/@Area2D@63779" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63780" to="TileMapLayer/@Area2D@63780" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63781" to="TileMapLayer/@Area2D@63781" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63782" to="TileMapLayer/@Area2D@63782" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63783" to="TileMapLayer/@Area2D@63783" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63784" to="TileMapLayer/@Area2D@63784" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63785" to="TileMapLayer/@Area2D@63785" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63786" to="TileMapLayer/@Area2D@63786" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63787" to="TileMapLayer/@Area2D@63787" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63788" to="TileMapLayer/@Area2D@63788" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63790" to="TileMapLayer/@Area2D@63790" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63793" to="TileMapLayer/@Area2D@63793" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63794" to="TileMapLayer/@Area2D@63794" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63795" to="TileMapLayer/@Area2D@63795" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63796" to="TileMapLayer/@Area2D@63796" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63797" to="TileMapLayer/@Area2D@63797" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63798" to="TileMapLayer/@Area2D@63798" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63799" to="TileMapLayer/@Area2D@63799" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63800" to="TileMapLayer/@Area2D@63800" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63801" to="TileMapLayer/@Area2D@63801" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63802" to="TileMapLayer/@Area2D@63802" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63803" to="TileMapLayer/@Area2D@63803" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63804" to="TileMapLayer/@Area2D@63804" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63805" to="TileMapLayer/@Area2D@63805" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63806" to="TileMapLayer/@Area2D@63806" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63807" to="TileMapLayer/@Area2D@63807" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63808" to="TileMapLayer/@Area2D@63808" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63809" to="TileMapLayer/@Area2D@63809" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63810" to="TileMapLayer/@Area2D@63810" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63811" to="TileMapLayer/@Area2D@63811" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63812" to="TileMapLayer/@Area2D@63812" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63813" to="TileMapLayer/@Area2D@63813" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63814" to="TileMapLayer/@Area2D@63814" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63815" to="TileMapLayer/@Area2D@63815" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63816" to="TileMapLayer/@Area2D@63816" method="_on_body_entered"] +[connection signal="body_entered" from="TileMapLayer/@Area2D@63817" to="TileMapLayer/@Area2D@63817" method="_on_body_entered"] diff --git a/logic.gd b/logic.gd index 34e717d..46d6425 100644 --- a/logic.gd +++ b/logic.gd @@ -2,6 +2,12 @@ extends Node2D var hp : int = 6 @export var hp_bar : AnimatedSprite2D +var score : int = 0 +var combo : int = 0 # number of coins collected without taking damage +var combo_level : int = 0 # 0-4, coins worth: 1, 2, 3, 4, 5 +# combo levels: 10/20/30/40/50 (max) +@export var combo_colors : Array[Color] +@export var score_label : Label # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -11,7 +17,17 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: hp_bar.frame = hp + + combo_level = clampi(floori(float(combo)/10),0,4) + Storyteller.current_coin_color = combo_colors[combo_level] + score_label.text = str(score) func _on_lander_got_hit() -> void: hp -= 1 + combo = 0 + + +func _on_lander_got_points() -> void: + score += combo_level + 1 + combo += 1 diff --git a/project.godot b/project.godot index 9dfd1d2..8795950 100644 --- a/project.godot +++ b/project.godot @@ -12,9 +12,13 @@ config_version=5 config/name="Lunar" run/main_scene="uid://hv07lm2tjwn4" -config/features=PackedStringArray("4.4", "GL Compatibility") +config/features=PackedStringArray("4.5", "GL Compatibility") config/icon="uid://bd5oswedqnenh" +[autoload] + +Storyteller="*res://storyteller.tscn" + [display] window/size/viewport_width=640 diff --git a/readme.md b/readme.md index 6cbfed8..f51066c 100644 --- a/readme.md +++ b/readme.md @@ -6,3 +6,6 @@ - [ ] respawning? - [ ] performace - [ ] score pickups + + +https://www.pixil.art/art/a-spinning-coin-62d75ee92f3d11c diff --git a/ship.gd b/ship.gd index ca38334..f239f3c 100644 --- a/ship.gd +++ b/ship.gd @@ -2,6 +2,8 @@ extends RigidBody2D signal moved signal got_hit +signal got_points + @export var thrust_power : float = 1 @export var turn_power : float = 1 diff --git a/storyteller.gd b/storyteller.gd new file mode 100644 index 0000000..8274b04 --- /dev/null +++ b/storyteller.gd @@ -0,0 +1,13 @@ +extends Node + +@export var current_coin_color : Color = Color.WHITE + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/storyteller.gd.uid b/storyteller.gd.uid new file mode 100644 index 0000000..2a4b727 --- /dev/null +++ b/storyteller.gd.uid @@ -0,0 +1 @@ +uid://2mwy5nx8gyex diff --git a/storyteller.tscn b/storyteller.tscn new file mode 100644 index 0000000..4102a3e --- /dev/null +++ b/storyteller.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://cosmoon3infqy"] + +[ext_resource type="Script" uid="uid://2mwy5nx8gyex" path="res://storyteller.gd" id="1_vv1jl"] + +[node name="Storyteller" type="Node"] +script = ExtResource("1_vv1jl")