diff --git a/.idea/.idea.fgj26/.idea/.gitignore b/.idea/.idea.fgj26/.idea/.gitignore new file mode 100644 index 0000000..17c6d5b --- /dev/null +++ b/.idea/.idea.fgj26/.idea/.gitignore @@ -0,0 +1,15 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.fgj26.iml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/.idea.fgj26/.idea/.name b/.idea/.idea.fgj26/.idea/.name new file mode 100644 index 0000000..3acca09 --- /dev/null +++ b/.idea/.idea.fgj26/.idea/.name @@ -0,0 +1 @@ +fgj26 \ No newline at end of file diff --git a/.idea/.idea.fgj26/.idea/encodings.xml b/.idea/.idea.fgj26/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.fgj26/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.fgj26/.idea/indexLayout.xml b/.idea/.idea.fgj26/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.fgj26/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml b/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml new file mode 100644 index 0000000..0059883 --- /dev/null +++ b/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.fgj26/.idea/vcs.xml b/.idea/.idea.fgj26/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.fgj26/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Sprites/Characters/Enemies/stone-Sheet.png b/Assets/Sprites/Characters/Enemies/stone-Sheet.png new file mode 100644 index 0000000..3822397 Binary files /dev/null and b/Assets/Sprites/Characters/Enemies/stone-Sheet.png differ diff --git a/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import b/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import new file mode 100644 index 0000000..f2088fc --- /dev/null +++ b/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm8gnfvfysyyl" +path="res://.godot/imported/stone-Sheet.png-6a8d5c3feec80de1d12c1419c56fc3a4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Characters/Enemies/stone-Sheet.png" +dest_files=["res://.godot/imported/stone-Sheet.png-6a8d5c3feec80de1d12c1419c56fc3a4.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/Assets/Sprites/Characters/Player/kitsune-Sheet.png b/Assets/Sprites/Characters/Player/kitsune-Sheet.png new file mode 100644 index 0000000..cd6af67 Binary files /dev/null and b/Assets/Sprites/Characters/Player/kitsune-Sheet.png differ diff --git a/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import b/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import new file mode 100644 index 0000000..06f16ef --- /dev/null +++ b/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be7hl01iuo5af" +path="res://.godot/imported/kitsune-Sheet.png-2e8e87b85c8cd31c30e570eeeb293f55.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Characters/Player/kitsune-Sheet.png" +dest_files=["res://.godot/imported/kitsune-Sheet.png-2e8e87b85c8cd31c30e570eeeb293f55.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/Assets/Sprites/Environments/environment.png b/Assets/Sprites/Environments/environment.png new file mode 100644 index 0000000..47b0eaa Binary files /dev/null and b/Assets/Sprites/Environments/environment.png differ diff --git a/Assets/Sprites/Environments/environment.png.import b/Assets/Sprites/Environments/environment.png.import new file mode 100644 index 0000000..d36bfe6 --- /dev/null +++ b/Assets/Sprites/Environments/environment.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs7vjtoap8v26" +path="res://.godot/imported/environment.png-c68fc1d70faa64deb3834f90b15ce83a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Environments/environment.png" +dest_files=["res://.godot/imported/environment.png-c68fc1d70faa64deb3834f90b15ce83a.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/Prefabs/Enemies/rock_boi.tscn b/Prefabs/Enemies/rock_boi.tscn new file mode 100644 index 0000000..7765d79 --- /dev/null +++ b/Prefabs/Enemies/rock_boi.tscn @@ -0,0 +1,89 @@ +[gd_scene load_steps=12 format=3 uid="uid://y54cvugsx75b"] + +[ext_resource type="Texture2D" uid="uid://cm8gnfvfysyyl" path="res://Assets/Sprites/Characters/Enemies/stone-Sheet.png" id="1_7puah"] +[ext_resource type="Script" uid="uid://cu37tswrk107q" path="res://Scripts/Enemies/EnemyMovement.cs" id="2_wtb2n"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ldgsr"] +atlas = ExtResource("1_7puah") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o5yvi"] +atlas = ExtResource("1_7puah") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rku1e"] +atlas = ExtResource("1_7puah") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rfjv2"] +atlas = ExtResource("1_7puah") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1phco"] +atlas = ExtResource("1_7puah") +region = Rect2(128, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nb51f"] +atlas = ExtResource("1_7puah") +region = Rect2(160, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nnt18"] +atlas = ExtResource("1_7puah") +region = Rect2(192, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ewbju"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ldgsr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_o5yvi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rku1e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rfjv2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1phco") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nb51f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nnt18") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_i6g32"] +radius = 7.0 + +[node name="RockBoi" type="CharacterBody2D"] +motion_mode = 1 + +[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."] +path_desired_distance = 1.0 +simplify_path = true +simplify_epsilon = 0.25 + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 +sprite_frames = SubResource("SpriteFrames_ewbju") +offset = Vector2(0, -16) + +[node name="Scripts" type="Node" parent="."] + +[node name="Movement" type="Node" parent="Scripts" node_paths=PackedStringArray("_agent2D", "_body2D")] +script = ExtResource("2_wtb2n") +_agent2D = NodePath("../../NavigationAgent2D") +_body2D = NodePath("../..") +_speed = 44.59 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -7) +shape = SubResource("CircleShape2D_i6g32") diff --git a/Prefabs/player.tscn b/Prefabs/player.tscn new file mode 100644 index 0000000..33d0123 --- /dev/null +++ b/Prefabs/player.tscn @@ -0,0 +1,83 @@ +[gd_scene load_steps=11 format=3 uid="uid://cx7gr555b1gov"] + +[ext_resource type="Texture2D" uid="uid://be7hl01iuo5af" path="res://Assets/Sprites/Characters/Player/kitsune-Sheet.png" id="1_5wxv7"] +[ext_resource type="Script" uid="uid://8drbh4rcl410" path="res://Scripts/PlayerMovement.cs" id="2_y5hcb"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wrm1d"] +radius = 2.0 +height = 10.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_3dryh"] +atlas = ExtResource("1_5wxv7") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wowpa"] +atlas = ExtResource("1_5wxv7") +region = Rect2(16, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i6g32"] +atlas = ExtResource("1_5wxv7") +region = Rect2(32, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1l0tm"] +atlas = ExtResource("1_5wxv7") +region = Rect2(48, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v158k"] +atlas = ExtResource("1_5wxv7") +region = Rect2(64, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h4fw4"] +atlas = ExtResource("1_5wxv7") +region = Rect2(80, 0, 16, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ebmjs"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3dryh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wowpa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i6g32") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1l0tm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v158k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h4fw4") +}], +"loop": true, +"name": &"idle", +"speed": 8.0 +}] + +[node name="Player" type="CharacterBody2D"] +y_sort_enabled = true +texture_filter = 1 +collision_layer = 2 +collision_mask = 5 +motion_mode = 1 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -2) +rotation = 1.5707964 +shape = SubResource("CapsuleShape2D_wrm1d") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_ebmjs") +animation = &"idle" +frame_progress = 0.8244228 +offset = Vector2(0, -16) + +[node name="Scripts" type="Node" parent="."] + +[node name="Movement" type="Node" parent="Scripts" node_paths=PackedStringArray("_body2D")] +script = ExtResource("2_y5hcb") +_body2D = NodePath("../..") +_speed = 4000.0 diff --git a/Resources/environment.tres b/Resources/environment.tres new file mode 100644 index 0000000..2e19eec --- /dev/null +++ b/Resources/environment.tres @@ -0,0 +1,86 @@ +[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://b15j7vhkfu415"] + +[ext_resource type="Texture2D" uid="uid://cs7vjtoap8v26" path="res://Assets/Sprites/Environments/environment.png" id="1_weel8"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_12wsl"] +texture = ExtResource("1_weel8") +0:0/0 = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, 8, 0, 0, 8, 0, 8, -8, -8, -8, -8, 8) +2:2/0 = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, -8, 8, -8, 8, 8, -8, 8) +1:2/0 = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) +0:2/0 = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 0, 8, 0, 8, 8, -8, 8) +0:1/0 = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 8, -8, 8) +1:0/0 = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 0, -8, 0) +1:1/0 = 0 +2:1/0 = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, 8, 8, 8, -8) +2:0/0 = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, 8, 8, 8, 8, -8, -8, -8) +3:0/0 = 0 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, 8, 0, 0, 8, 0, 8, -8, -8, -8, -8, 8) +3:1/0 = 0 +3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, -8, 8, -8, -8) +3:2/0 = 0 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 0, 8, 0, 8, 8, -8, 8, -8, -8) +4:2/0 = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) +4:1/0 = 0 +4:0/0 = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, -8, -8, -8) +5:0/0 = 0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, 8, 8, 8, 8, -8, -8, -8) +5:1/0 = 0 +5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, 8, 8, 8, -8) +5:2/0 = 0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, -8, 8, -8, 8, 8, -8, 8) +7:1/0 = 0 +8:1/0 = 0 +9:1/0 = 0 +7:2/0 = 0 +8:2/0 = 0 +9:2/0 = 0 +8:4/size_in_atlas = Vector2i(1, 2) +8:4/0 = 0 +8:4/0/texture_origin = Vector2i(0, 8) +8:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) +9:4/size_in_atlas = Vector2i(1, 2) +9:4/0 = 0 +9:4/0/texture_origin = Vector2i(0, 8) +9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 6, 0, 6, 8, -8, 8) +0:4/size_in_atlas = Vector2i(4, 5) +0:4/0 = 0 +0:4/0/texture_origin = Vector2i(0, 32) +0:4/0/y_sort_origin = -4 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -4, 8, -4, 12, 4, -12, 4) +7:4/size_in_atlas = Vector2i(1, 2) +7:4/0 = 0 +7:4/0/texture_origin = Vector2i(0, 8) +7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, 0, 8, 0, 8, 8, -6, 8) +4:7/size_in_atlas = Vector2i(2, 2) +4:7/0 = 0 +4:7/0/texture_origin = Vector2i(0, 8) +4:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0, 16, 0, 12, 8, -12, 8) +5:6/0 = 0 +5:6/0/y_sort_origin = 4 +5:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 6, -6, 8, 6, 8, 8, 6, 8, 4, -8, 4) +7:7/size_in_atlas = Vector2i(1, 2) +7:7/0 = 0 +7:7/0/texture_origin = Vector2i(0, 8) +7:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0.9892235, 0, 8, 0, 8, 8, -8, 8) +8:7/size_in_atlas = Vector2i(1, 2) +8:7/0 = 0 +8:7/0/texture_origin = Vector2i(0, 8) +8:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) +9:7/size_in_atlas = Vector2i(1, 2) +9:7/0 = 0 +9:7/0/texture_origin = Vector2i(0, 8) +9:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8) + +[resource] +physics_layer_0/collision_layer = 1 +sources/0 = SubResource("TileSetAtlasSource_12wsl") diff --git a/Scenes/game.tscn b/Scenes/game.tscn new file mode 100644 index 0000000..b6cad98 --- /dev/null +++ b/Scenes/game.tscn @@ -0,0 +1,46 @@ +[gd_scene load_steps=6 format=4 uid="uid://csyk43kt3xbyx"] + +[ext_resource type="TileSet" uid="uid://b15j7vhkfu415" path="res://Resources/environment.tres" id="1_ebmjs"] +[ext_resource type="Script" uid="uid://djp8dmixf6sq2" path="res://Scripts/Common/GameController.cs" id="1_i6g32"] +[ext_resource type="PackedScene" uid="uid://cx7gr555b1gov" path="res://Prefabs/player.tscn" id="3_3dryh"] +[ext_resource type="PackedScene" uid="uid://y54cvugsx75b" path="res://Prefabs/Enemies/rock_boi.tscn" id="5_wowpa"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_wrm1d"] +vertices = PackedVector2Array(-114.07031, 51, -115, 51, -115, 50.070313, -43, -27, -43, -34.820313, -39.09375, -27, -85, 51, -93.92969, 51, -91, 48.070313, -85, 43, 80.07031, -11, 85, -15.9296875, 92.90625, -17, 83.90625, 1, 51, 19, 194.35156, -122.36719, 204, -61.59375, 204, 8.03125, 149, -27, 149, -53, 170.78125, -142.3125, -91, 39, -75, 21, 51, 37, 75, 27, 75, 53, 59, 75, 16.070313, -59, 21, -63.929688, 43, -75, 43, -61.179688, 35.90625, -47, 11, -25, 149, 21, 149, -21, 204.99219, 82.72656, 85, -25, 91, -27, 27, -75, 21, -73, 123, -53, 123, -45, 117, -45, 117, -69, 91, -69, 91, -61, 85, -61, 85, -85, 69, -85, 69, -101, 105.5, -154.00781, 53, -101, 53, -117, 11, -117, 11, -99, 5, -99, 5, -117, 7.96875, -156.99219, -37, -91, -29, -91, -29, -85, -69, -85, -69, -59, -61, -59, -61, -53, -101, -53, -101, -11, -93, -11, -93, -5, -133, -5, -115, 21, -115, 13, -101, 13, -101, 21, -75, 5, -63.929688, 5, -59, 43, -59, -9, -75, -9, -75, -21, -69, -27, -83, -21, -83, -35, -69, -35, -43, -45, -43, -67, -37, -67, -37, -59, 0.09375, -45, -11, -59, -11, -99, -5, -73, 27, -99, -5, -63.929688, 59, -47, 59, -43, 37, -25, 91, -43, 59, -25, 131, -21, 131, -5, 121.09375, -5, 115.09375, -17, 59, -15.9296875, 37, -15.9296875, -0.0703125, -59, 107, 1, 107, 11, 91, 11, 91, 27, 83, 53, 83, 75, 59, 95, 44.90625, 95, -3, 37, 35.90625, 113, 67, 113, 67, 131, 27, 131, 21, 112.07031, 21, 103, 16.070313, 117, 21, 131, 27, 149, 21, 149, -19, 131, -0.0703125, 117, -19, 101, -5, 112.07031, -11, 101, -5, 103, -60.09375, 81, -37, 81, -37, 83, -67, 83, -67, 69, -59, 69, -51.09375, 63, -115, 39, -115, 27, -133, 69, -85, 69, -85, 101, -148.60156, 175.10156, -173.40625, 162.70313, -183.03125, 94.39844, -37, 101, -37, 149, -76.6875, 182, 168.10938, 173.17188, 90.77344, 181, 85, 149, 85, 101, 101, 101, 196.29688, 152.25, 101, 53, 117, 53, 117, 37, 133, 37, 133, 21, -8.90625, -27, 11, -15.9296875, -3, 19, -72.63281, -155, -37, -117, -157.07813, -144.32031, -178.24219, -112.11719, -188, -52.5625, -189.99219, 9.921875, -133, 21, 63.929688, -11, -11, 75, -22.90625, 75, -28.90625, 63, 7.9296875, 182.99219, -59, 0.0703125, 32.070313, -11, 15.9296875, -11, -133, 27) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2), PackedInt32Array(3, 4, 5), PackedInt32Array(6, 7, 8, 9), PackedInt32Array(10, 11, 12, 13, 14), PackedInt32Array(15, 16, 17, 18, 19, 20), PackedInt32Array(9, 8, 21, 22), PackedInt32Array(23, 14, 24, 25, 26), PackedInt32Array(27, 28, 29, 30, 31, 32), PackedInt32Array(33, 34, 17, 35), PackedInt32Array(18, 17, 34), PackedInt32Array(12, 11, 36, 37), PackedInt32Array(38, 29, 28, 39), PackedInt32Array(40, 41, 42, 43), PackedInt32Array(44, 45, 46, 47), PackedInt32Array(47, 48, 49, 50), PackedInt32Array(49, 51, 52, 50), PackedInt32Array(53, 54, 55, 56, 57), PackedInt32Array(58, 59, 60, 61), PackedInt32Array(62, 63, 64, 65), PackedInt32Array(66, 67, 68, 69), PackedInt32Array(70, 71, 72, 73), PackedInt32Array(22, 74, 75, 76), PackedInt32Array(77, 78, 79, 80, 3), PackedInt32Array(79, 81, 82, 83, 80), PackedInt32Array(84, 85, 86, 87), PackedInt32Array(88, 84, 87, 89), PackedInt32Array(89, 90, 55, 91), PackedInt32Array(54, 92, 38, 39, 91), PackedInt32Array(55, 54, 91), PackedInt32Array(89, 91, 93), PackedInt32Array(31, 94, 95, 96, 32), PackedInt32Array(95, 97, 37, 36, 98), PackedInt32Array(37, 18, 34, 99), PackedInt32Array(99, 100, 101, 102), PackedInt32Array(37, 99, 102, 12), PackedInt32Array(98, 103, 14, 104, 96), PackedInt32Array(95, 98, 96), PackedInt32Array(105, 27, 32, 88), PackedInt32Array(13, 106, 107, 108), PackedInt32Array(13, 108, 109, 24, 14), PackedInt32Array(25, 110, 111, 26), PackedInt32Array(26, 112, 113, 114, 23), PackedInt32Array(115, 116, 117, 118), PackedInt32Array(115, 118, 119, 120), PackedInt32Array(121, 119, 118, 122), PackedInt32Array(118, 123, 124, 122), PackedInt32Array(121, 122, 125, 126), PackedInt32Array(126, 125, 127, 128), PackedInt32Array(128, 127, 129, 130), PackedInt32Array(131, 132, 133, 134), PackedInt32Array(131, 134, 135, 136), PackedInt32Array(137, 131, 136), PackedInt32Array(137, 136, 76), PackedInt32Array(21, 138, 139, 73, 22), PackedInt32Array(140, 141, 142, 143, 144, 145), PackedInt32Array(142, 146, 147, 148, 143), PackedInt32Array(149, 150, 151, 152, 153, 154), PackedInt32Array(153, 155, 156, 35, 154), PackedInt32Array(156, 157, 158, 35), PackedInt32Array(158, 159, 33, 35), PackedInt32Array(88, 89, 93, 105), PackedInt32Array(160, 88, 32, 161, 162), PackedInt32Array(113, 115, 120, 114), PackedInt32Array(50, 20, 19, 40, 43), PackedInt32Array(50, 43, 44, 47), PackedInt32Array(57, 50, 52, 53), PackedInt32Array(163, 57, 56, 164), PackedInt32Array(165, 163, 164, 58, 61, 166), PackedInt32Array(167, 166, 61, 62, 65), PackedInt32Array(167, 65, 66, 69), PackedInt32Array(168, 167, 69, 169, 145), PackedInt32Array(170, 10, 14), PackedInt32Array(114, 120, 130, 129, 171), PackedInt32Array(114, 171, 172, 173), PackedInt32Array(151, 150, 174, 123), PackedInt32Array(124, 123, 174), PackedInt32Array(147, 124, 174, 148), PackedInt32Array(3, 5, 162, 114, 173, 137, 76, 175), PackedInt32Array(103, 170, 14), PackedInt32Array(176, 104, 14), PackedInt32Array(176, 14, 162, 177), PackedInt32Array(161, 177, 162), PackedInt32Array(5, 160, 162), PackedInt32Array(178, 140, 145), PackedInt32Array(178, 145, 169), PackedInt32Array(178, 169, 70, 139), PackedInt32Array(139, 70, 73), PackedInt32Array(76, 9, 22), PackedInt32Array(76, 75, 175), PackedInt32Array(3, 175, 77)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-160, -149, -73, -160, 8, -162, 106, -159, 173, -147, 199, -125, 209, -62, 209, 8, 210, 83, 201, 155, 170, 178, 91, 186, 8, 188, -77, 187, -150, 180, -178, 166, -188, 95, -195, 10, -193, -53, -183, -114)]) +parsed_geometry_type = 1 +agent_radius = 5.0 + +[node name="Root" type="Node2D"] +texture_filter = 1 + +[node name="GameController" type="Node" parent="." node_paths=PackedStringArray("Player")] +script = ExtResource("1_i6g32") +Player = NodePath("../NavigationRegion2D/YSorted/Player") + +[node name="Camera2D" type="Camera2D" parent="."] +zoom = Vector2(2, 2) + +[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."] +position = Vector2(-8, -8) +navigation_polygon = SubResource("NavigationPolygon_wrm1d") + +[node name="BaseLayer" type="TileMapLayer" parent="NavigationRegion2D"] +tile_map_data = PackedByteArray("AAAAAP//AAABAAEAAAD/////AAABAAEAAAD//wAAAAABAAEAAAAAAAAAAAABAAEAAAABAP7/AAABAAEAAAAAAP7/AAABAAEAAAD///7/AAABAAEAAAD+////AAABAAEAAAD+/wAAAAABAAEAAAD+//7/AAABAAEAAAD9////AAABAAEAAAD9/wAAAAABAAEAAAD9/wEAAAABAAEAAAD9/wIAAAABAAEAAAD+/wIAAAABAAEAAAD//wIAAAABAAEAAAAAAAIAAAABAAEAAAABAAEAAAABAAEAAAABAAAAAAABAAEAAAABAP//AAABAAEAAAD//wEAAAABAAEAAAAAAAEAAAABAAEAAAABAAIAAAABAAEAAAABAAMAAAABAAEAAAACAAMAAAABAAEAAAACAAIAAAABAAEAAAADAAIAAAABAAEAAAADAAEAAAABAAEAAAACAAEAAAABAAEAAAACAAAAAAABAAEAAAACAP//AAABAAEAAAACAP7/AAABAAEAAAD+/wEAAAABAAEAAAAAAAMAAAABAAEAAAD//wMAAAABAAEAAAD+/wMAAAABAAEAAAD9/wMAAAABAAEAAAD8/wMAAAABAAEAAAD8/wIAAAABAAEAAAD8/wEAAAABAAEAAAD8/wAAAAABAAEAAAD8////AAABAAEAAAD8//7/AAABAAEAAAD9//7/AAABAAEAAAD9//3/AAABAAEAAAD+//3/AAABAAEAAAD///3/AAABAAEAAAAAAP3/AAABAAEAAAABAP3/AAABAAEAAAACAP3/AAABAAEAAAADAP7/AAABAAEAAAADAP//AAABAAEAAAADAAAAAAABAAEAAAADAAMAAAABAAEAAAADAP3/AAABAAEAAAD8//3/AAAFAAIAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAADAAUAAAABAAEAAAACAAUAAAABAAEAAAABAAUAAAABAAEAAAAAAAUAAAABAAEAAAD//wUAAAABAAEAAAD+/wUAAAAFAAAAAAD9/wUAAAABAAIAAAD8/wUAAAABAAIAAAD8//z/AAAFAAEAAAD9//z/AAABAAEAAAD+//z/AAABAAEAAAD///z/AAABAAEAAAAAAPz/AAABAAEAAAABAPz/AAABAAEAAAACAPz/AAABAAEAAAADAPz/AAABAAEAAAAEAPz/AAADAAIAAAAEAP3/AAABAAEAAAAEAP7/AAABAAEAAAAEAP//AAABAAEAAAAEAAAAAAABAAEAAAAEAAEAAAABAAEAAAAEAAIAAAABAAEAAAAEAAMAAAABAAEAAAAEAAQAAAABAAEAAAAEAAUAAAADAAAAAAD7/wQAAAAAAAEAAAD7/wUAAAAAAAIAAAD7/wMAAAAFAAAAAAD7/wIAAAABAAEAAAD7/wEAAAABAAEAAAD7/wAAAAABAAEAAAD7////AAABAAEAAAD7//7/AAABAAEAAAD7//3/AAABAAAAAAAFAPz/AAAEAAIAAAAFAP3/AAABAAEAAAAFAP7/AAABAAEAAAAFAP//AAABAAEAAAAFAAAAAAABAAEAAAAFAAEAAAABAAEAAAAFAAIAAAADAAAAAAAFAAMAAAACAAEAAAAFAAQAAAACAAEAAAAFAAUAAAACAAIAAAD6/wUAAAAEAAEAAAD6/wQAAAAEAAEAAAD6/wMAAAABAAIAAAD6/wIAAAABAAEAAAD6/wEAAAABAAEAAAD6/wAAAAAFAAIAAAD6////AAAFAAEAAAD6//7/AAAAAAEAAAD6//3/AAAAAAAAAAD6//z/AAAEAAEAAAD6//v/AAAEAAEAAAD7//v/AAAEAAEAAAD8//v/AAAAAAAAAAD9//v/AAABAAAAAAD+//v/AAAFAAIAAAD///v/AAABAAEAAAAAAPv/AAABAAEAAAABAPv/AAABAAEAAAACAPv/AAABAAEAAAADAPv/AAADAAIAAAAEAPv/AAACAAAAAAAFAPv/AAAEAAEAAAAGAPv/AAAEAAEAAAAGAPz/AAACAAAAAAAGAP3/AAADAAIAAAAGAP7/AAABAAEAAAAGAP//AAABAAEAAAAGAAAAAAABAAEAAAAGAAEAAAADAAAAAAAGAAIAAAACAAIAAAAGAAMAAAAEAAEAAAAHAAMAAAAEAAEAAAAHAAQAAAAEAAEAAAAGAAQAAAAEAAEAAAAGAAUAAAAEAAEAAAAHAAUAAAAEAAEAAAAHAAIAAAAEAAEAAAAHAAEAAAACAAIAAAAHAAAAAAADAAAAAAAHAP//AAABAAEAAAAHAP7/AAABAAEAAAAHAP3/AAAEAAIAAAAHAPv/AAAEAAEAAAAHAPr/AAAEAAEAAAAGAPr/AAAEAAEAAAAHAPz/AAAEAAEAAAAFAPr/AAAEAAEAAAAEAPr/AAAEAAEAAAADAPr/AAACAAAAAAACAPr/AAADAAIAAAABAPr/AAABAAEAAAAAAPr/AAABAAEAAAD///r/AAABAAEAAAD+//r/AAAFAAEAAAD9//r/AAAEAAEAAAD8//r/AAAEAAEAAAD7//r/AAAEAAEAAAD6//r/AAAEAAEAAAD5//r/AAAEAAEAAAD4//r/AAAEAAEAAAD4//v/AAAEAAEAAAD5//v/AAAEAAEAAAD5//z/AAAEAAEAAAD5//3/AAAEAAEAAAD5//7/AAAEAAEAAAD5////AAAEAAEAAAD4////AAAEAAEAAAD4/wAAAAAAAAAAAAD4/wEAAAAEAAEAAAD4/wIAAAAAAAEAAAD4/wMAAAAAAAIAAAD4/wQAAAAEAAEAAAD4/wUAAAAEAAEAAAD5/wUAAAAEAAEAAAD5/wQAAAAEAAEAAAD5/wMAAAABAAIAAAD5/wIAAAABAAEAAAD5/wEAAAABAAEAAAD4//z/AAAEAAEAAAD4//3/AAAEAAEAAAD4//7/AAAEAAEAAAD5/wAAAAABAAAAAAD4/wYAAAAEAAEAAAD5/wcAAAAEAAEAAAD5/wgAAAAEAAEAAAD6/wkAAAAEAAEAAAD4/wcAAAAEAAEAAAD4/wgAAAAEAAEAAAD4/wkAAAAEAAEAAAD5/wkAAAAEAAEAAAD6/wgAAAAEAAEAAAD5/wYAAAAEAAEAAAD6/wYAAAAEAAEAAAD6/wcAAAAEAAEAAAD7/wYAAAAEAAEAAAD7/wcAAAAEAAEAAAD7/wgAAAAEAAEAAAD7/wkAAAAEAAEAAAD8/wYAAAAEAAEAAAD8/wcAAAAEAAEAAAD8/wgAAAAEAAEAAAD8/wkAAAAEAAEAAAD9/wYAAAAEAAEAAAD9/wcAAAAEAAEAAAD9/wgAAAAEAAEAAAD9/wkAAAAEAAEAAAD+/wYAAAAAAAEAAAD+/wcAAAAAAAEAAAD+/wgAAAAAAAIAAAD+/wkAAAAEAAEAAAD//wYAAAABAAEAAAD//wcAAAABAAEAAAD//wgAAAABAAIAAAD//wkAAAAEAAEAAAAAAAYAAAABAAEAAAAAAAcAAAABAAEAAAAAAAgAAAABAAIAAAAAAAkAAAAEAAEAAAABAAYAAAABAAEAAAABAAcAAAABAAEAAAABAAgAAAAEAAEAAAABAAkAAAAEAAEAAAACAAYAAAABAAEAAAACAAcAAAABAAEAAAACAAgAAAABAAIAAAACAAkAAAAEAAEAAAADAAYAAAABAAEAAAADAAcAAAABAAEAAAADAAgAAAABAAIAAAADAAkAAAAEAAEAAAAEAAYAAAACAAEAAAAEAAcAAAACAAEAAAAEAAgAAAACAAIAAAAEAAkAAAAEAAEAAAAFAAYAAAAEAAEAAAAFAAcAAAAEAAEAAAAFAAgAAAAEAAEAAAAFAAkAAAAEAAEAAAAGAAYAAAAEAAEAAAAGAAcAAAAEAAEAAAAGAAgAAAAEAAEAAAAGAAkAAAAEAAEAAAAHAAYAAAAEAAEAAAAHAAcAAAAEAAEAAAAHAAgAAAAEAAEAAAAHAAkAAAAEAAEAAAAIAPr/AAAEAAEAAAAIAPv/AAAEAAEAAAAIAPz/AAAEAAEAAAAIAP3/AAACAAAAAAAIAP7/AAAEAAEAAAAIAP//AAACAAEAAAAIAAAAAAACAAIAAAAIAAEAAAAEAAEAAAAIAAIAAAAEAAEAAAAIAAMAAAAEAAEAAAAIAAQAAAAEAAEAAAAIAAUAAAAEAAEAAAAIAAYAAAAEAAEAAAAIAAcAAAAEAAEAAAAIAAgAAAAEAAEAAAAIAAkAAAAEAAEAAAAJAPr/AAAEAAEAAAAJAPv/AAAEAAEAAAAJAPz/AAAEAAEAAAAJAP3/AAAEAAEAAAAJAP7/AAAEAAEAAAAJAP//AAAEAAEAAAAJAAAAAAAEAAEAAAAJAAEAAAAEAAEAAAAJAAIAAAAEAAEAAAAJAAMAAAAEAAEAAAAJAAQAAAAEAAEAAAAJAAUAAAAEAAEAAAAJAAYAAAAEAAEAAAAJAAcAAAAEAAEAAAAJAAgAAAAEAAEAAAAJAAkAAAAEAAEAAAAKAPr/AAAEAAEAAAAKAPv/AAAEAAEAAAAKAPz/AAAEAAEAAAAKAP3/AAAEAAEAAAAKAP7/AAAEAAEAAAAKAP//AAAEAAEAAAAKAAAAAAAEAAEAAAAKAAEAAAAEAAEAAAAKAAIAAAAEAAEAAAAKAAMAAAAEAAEAAAAKAAQAAAAEAAEAAAAKAAUAAAAEAAEAAAAKAAYAAAAEAAEAAAAKAAcAAAAEAAEAAAAKAAgAAAAEAAEAAAAKAAkAAAAEAAEAAAALAPr/AAAEAAEAAAALAPv/AAAEAAEAAAALAPz/AAAEAAEAAAALAP3/AAAEAAEAAAALAP7/AAAEAAEAAAALAP//AAAEAAEAAAALAAAAAAAEAAEAAAALAAEAAAAEAAEAAAALAAIAAAAEAAEAAAALAAMAAAAEAAEAAAALAAQAAAAEAAEAAAALAAUAAAAEAAEAAAALAAYAAAAEAAEAAAALAAcAAAAEAAEAAAALAAgAAAAEAAEAAAALAAkAAAAEAAEAAAAMAPr/AAAEAAEAAAAMAPv/AAAEAAEAAAAMAPz/AAAEAAEAAAAMAP3/AAAEAAEAAAAMAP7/AAAEAAEAAAAMAP//AAAEAAEAAAAMAAAAAAAEAAEAAAAMAAEAAAAEAAEAAAAMAAIAAAAEAAEAAAAMAAMAAAAEAAEAAAAMAAQAAAAEAAEAAAAMAAUAAAAEAAEAAAAMAAYAAAAEAAEAAAAMAAcAAAAEAAEAAAAMAAgAAAAEAAEAAAAMAAkAAAAEAAEAAAD4//b/AAAEAAEAAAD4//f/AAAEAAEAAAD4//j/AAAEAAEAAAD4//n/AAAEAAEAAAD5//b/AAAEAAEAAAD5//f/AAAEAAEAAAD5//j/AAAEAAEAAAD5//n/AAAEAAEAAAD6//b/AAAEAAEAAAD6//f/AAAEAAEAAAD6//j/AAAEAAEAAAD6//n/AAAEAAEAAAD7//b/AAAEAAEAAAD7//f/AAAEAAEAAAD7//j/AAAEAAEAAAD7//n/AAAEAAEAAAD8//b/AAAEAAEAAAD8//f/AAAEAAEAAAD8//j/AAAEAAEAAAD8//n/AAAEAAEAAAD9//b/AAAEAAEAAAD9//f/AAAEAAEAAAD9//j/AAAEAAEAAAD9//n/AAAEAAEAAAD+//b/AAAEAAEAAAD+//f/AAAEAAEAAAD+//j/AAAEAAEAAAD+//n/AAAAAAAAAAD///b/AAAEAAEAAAD///f/AAAEAAEAAAD///j/AAAEAAEAAAD///n/AAABAAAAAAAAAPb/AAAEAAEAAAAAAPf/AAAEAAEAAAAAAPj/AAAEAAEAAAAAAPn/AAAEAAEAAAABAPb/AAAEAAEAAAABAPf/AAAEAAEAAAABAPj/AAAEAAEAAAABAPn/AAABAAAAAAACAPb/AAAEAAEAAAACAPf/AAAEAAEAAAACAPj/AAAEAAEAAAACAPn/AAACAAAAAAADAPb/AAAEAAEAAAADAPf/AAAEAAEAAAADAPj/AAAEAAEAAAADAPn/AAAEAAEAAAAEAPb/AAAEAAEAAAAEAPf/AAAEAAEAAAAEAPj/AAAEAAEAAAAEAPn/AAAEAAEAAAAFAPb/AAAEAAEAAAAFAPf/AAAEAAEAAAAFAPj/AAAEAAEAAAAFAPn/AAAEAAEAAAAGAPb/AAAEAAEAAAAGAPf/AAAEAAEAAAAGAPj/AAAEAAEAAAAGAPn/AAAEAAEAAAAHAPb/AAAEAAEAAAAHAPf/AAAEAAEAAAAHAPj/AAAEAAEAAAAHAPn/AAAEAAEAAAAIAPb/AAAEAAEAAAAIAPf/AAAEAAEAAAAIAPj/AAAEAAEAAAAIAPn/AAAEAAEAAAAJAPb/AAAEAAEAAAAJAPf/AAAEAAEAAAAJAPj/AAAEAAEAAAAJAPn/AAAEAAEAAAAKAPb/AAAEAAEAAAAKAPf/AAAEAAEAAAAKAPj/AAAEAAEAAAAKAPn/AAAEAAEAAAALAPb/AAAEAAEAAAALAPf/AAAEAAEAAAALAPj/AAAEAAEAAAALAPn/AAAEAAEAAAAMAPb/AAAEAAEAAAAMAPf/AAAEAAEAAAAMAPj/AAAEAAEAAAAMAPn/AAAEAAEAAAD0//b/AAAEAAEAAAD0//f/AAAEAAEAAAD0//j/AAAEAAEAAAD0//n/AAAEAAEAAAD0//r/AAAEAAEAAAD0//v/AAAEAAEAAAD0//z/AAAEAAEAAAD0//3/AAAEAAEAAAD0//7/AAAEAAEAAAD0////AAAEAAEAAAD0/wAAAAAEAAEAAAD0/wEAAAAEAAEAAAD0/wIAAAAEAAEAAAD0/wMAAAAEAAEAAAD0/wQAAAAEAAEAAAD0/wUAAAAEAAEAAAD0/wYAAAAEAAEAAAD0/wcAAAAEAAEAAAD0/wgAAAAEAAEAAAD0/wkAAAAEAAEAAAD1//b/AAAEAAEAAAD1//f/AAAEAAEAAAD1//j/AAAEAAEAAAD1//n/AAAEAAEAAAD1//r/AAAEAAEAAAD1//v/AAAEAAEAAAD1//z/AAAEAAEAAAD1//3/AAAEAAEAAAD1//7/AAAEAAEAAAD1////AAAEAAEAAAD1/wAAAAAEAAEAAAD1/wEAAAAEAAEAAAD1/wIAAAAEAAEAAAD1/wMAAAAEAAEAAAD1/wQAAAAEAAEAAAD1/wUAAAAEAAEAAAD1/wYAAAAEAAEAAAD1/wcAAAAEAAEAAAD1/wgAAAAEAAEAAAD1/wkAAAAEAAEAAAD2//b/AAAEAAEAAAD2//f/AAAEAAEAAAD2//j/AAAEAAEAAAD2//n/AAAEAAEAAAD2//r/AAAEAAEAAAD2//v/AAAEAAEAAAD2//z/AAAEAAEAAAD2//3/AAAEAAEAAAD2//7/AAAEAAEAAAD2////AAAEAAEAAAD2/wAAAAAEAAEAAAD2/wEAAAAEAAEAAAD2/wIAAAAEAAEAAAD2/wMAAAAEAAEAAAD2/wQAAAAEAAEAAAD2/wUAAAAEAAEAAAD2/wYAAAAEAAEAAAD2/wcAAAAEAAEAAAD2/wgAAAAEAAEAAAD2/wkAAAAEAAEAAAD3//b/AAAEAAEAAAD3//f/AAAEAAEAAAD3//j/AAAEAAEAAAD3//n/AAAEAAEAAAD3//r/AAAEAAEAAAD3//v/AAAEAAEAAAD3//z/AAAEAAEAAAD3//3/AAAEAAEAAAD3//7/AAAEAAEAAAD3////AAAEAAEAAAD3/wAAAAAEAAEAAAD3/wEAAAAEAAEAAAD3/wIAAAAEAAEAAAD3/wMAAAAEAAEAAAD3/wQAAAAEAAEAAAD3/wUAAAAEAAEAAAD3/wYAAAAEAAEAAAD3/wcAAAAEAAEAAAD3/wgAAAAEAAEAAAD3/wkAAAAEAAEAAAD0/woAAAAEAAEAAAD0/wsAAAAEAAEAAAD0/wwAAAAEAAEAAAD0/w0AAAAEAAEAAAD0/w4AAAAEAAEAAAD1/woAAAAEAAEAAAD1/wsAAAAEAAEAAAD1/wwAAAAEAAEAAAD1/w0AAAAEAAEAAAD1/w4AAAAEAAEAAAD2/woAAAAEAAEAAAD2/wsAAAAEAAEAAAD2/wwAAAAEAAEAAAD2/w0AAAAEAAEAAAD2/w4AAAAEAAEAAAD3/woAAAAEAAEAAAD3/wsAAAAEAAEAAAD3/wwAAAAEAAEAAAD3/w0AAAAEAAEAAAD3/w4AAAAEAAEAAAD4/woAAAAEAAEAAAD4/wsAAAAEAAEAAAD4/wwAAAAEAAEAAAD4/w0AAAAEAAEAAAD4/w4AAAAEAAEAAAD5/woAAAAEAAEAAAD5/wsAAAAEAAEAAAD5/wwAAAAEAAEAAAD5/w0AAAAEAAEAAAD5/w4AAAAEAAEAAAD6/woAAAAEAAEAAAD6/wsAAAAEAAEAAAD6/wwAAAAEAAEAAAD6/w0AAAAEAAEAAAD6/w4AAAAEAAEAAAD7/woAAAAEAAEAAAD7/wsAAAAEAAEAAAD7/wwAAAAEAAEAAAD7/w0AAAAEAAEAAAD7/w4AAAAEAAEAAAD8/woAAAAEAAEAAAD8/wsAAAAEAAEAAAD8/wwAAAAEAAEAAAD8/w0AAAAEAAEAAAD8/w4AAAAEAAEAAAD9/woAAAAEAAEAAAD9/wsAAAAEAAEAAAD9/wwAAAAEAAEAAAD9/w0AAAAEAAEAAAD9/w4AAAAEAAEAAAD+/woAAAAEAAEAAAD+/wsAAAAEAAEAAAD+/wwAAAAEAAEAAAD+/w0AAAAEAAEAAAD+/w4AAAAEAAEAAAD//woAAAAEAAEAAAD//wsAAAAEAAEAAAD//wwAAAAEAAEAAAD//w0AAAAEAAEAAAD//w4AAAAEAAEAAAAAAAoAAAAEAAEAAAAAAAsAAAAEAAEAAAAAAAwAAAAEAAEAAAAAAA0AAAAEAAEAAAAAAA4AAAAEAAEAAAABAAoAAAAEAAEAAAABAAsAAAAEAAEAAAABAAwAAAAEAAEAAAABAA0AAAAEAAEAAAABAA4AAAAEAAEAAAACAAoAAAAEAAEAAAACAAsAAAAEAAEAAAACAAwAAAAEAAEAAAACAA0AAAAEAAEAAAACAA4AAAAEAAEAAAADAAoAAAAEAAEAAAADAAsAAAAEAAEAAAADAAwAAAAEAAEAAAADAA0AAAAEAAEAAAADAA4AAAAEAAEAAAAEAAoAAAAEAAEAAAAEAAsAAAAEAAEAAAAEAAwAAAAEAAEAAAAEAA0AAAAEAAEAAAAEAA4AAAAEAAEAAAAFAAoAAAAEAAEAAAAFAAsAAAAEAAEAAAAFAAwAAAAEAAEAAAAFAA0AAAAEAAEAAAAFAA4AAAAEAAEAAAAGAAoAAAAEAAEAAAAGAAsAAAAEAAEAAAAGAAwAAAAEAAEAAAAGAA0AAAAEAAEAAAAGAA4AAAAEAAEAAAAHAAoAAAAEAAEAAAAHAAsAAAAEAAEAAAAHAAwAAAAEAAEAAAAHAA0AAAAEAAEAAAAHAA4AAAAEAAEAAAAIAAoAAAAEAAEAAAAIAAsAAAAEAAEAAAAIAAwAAAAEAAEAAAAIAA0AAAAEAAEAAAAIAA4AAAAEAAEAAAAJAAoAAAAEAAEAAAAJAAsAAAAEAAEAAAAJAAwAAAAEAAEAAAAJAA0AAAAEAAEAAAAJAA4AAAAEAAEAAAAKAAoAAAAEAAEAAAAKAAsAAAAEAAEAAAAKAAwAAAAEAAEAAAAKAA0AAAAEAAEAAAAKAA4AAAAEAAEAAAALAAoAAAAEAAEAAAALAAsAAAAEAAEAAAALAAwAAAAEAAEAAAALAA0AAAAEAAEAAAALAA4AAAAEAAEAAAAMAAoAAAAEAAEAAAAMAAsAAAAEAAEAAAAMAAwAAAAEAAEAAAAMAA0AAAAEAAEAAAAMAA4AAAAEAAEAAAD7//z/AAAEAAEAAAA=") +tile_set = ExtResource("1_ebmjs") + +[node name="YSorted" type="Node2D" parent="NavigationRegion2D"] +y_sort_enabled = true +texture_filter = 1 + +[node name="Player" parent="NavigationRegion2D/YSorted" instance=ExtResource("3_3dryh")] +position = Vector2(8, 64) + +[node name="TileMapLayer" type="TileMapLayer" parent="NavigationRegion2D/YSorted"] +y_sort_enabled = true +tile_map_data = PackedByteArray("AAAGAP//AAAAAAQAAAD9/wQAAAAAAAQAAAADAPz/AAAAAAQAABABAAEAAAAIAAQAAAAAAAEAAAAHAAQAAAACAAEAAAAJAAQAAAADAAYAAAAAAAQAABAAAAYAAAAFAAYAAAAEAP7/AAAFAAYAABD7////AAAFAAYAABAAAPv/AAAFAAYAAAABAP7/AAAFAAYAAAD5/wIAAAAFAAYAABD+//3/AAAEAAcAAAA=") +tile_set = ExtResource("1_ebmjs") + +[node name="RockBoi" parent="NavigationRegion2D/YSorted" instance=ExtResource("5_wowpa")] +position = Vector2(-161, 33) diff --git a/Scripts/Common/GameController.cs b/Scripts/Common/GameController.cs new file mode 100644 index 0000000..dd9cd23 --- /dev/null +++ b/Scripts/Common/GameController.cs @@ -0,0 +1,14 @@ +using Godot; +using System; + +public partial class GameController : Node +{ + public static GameController Instance; + + [Export] public Node2D Player; + + public override void _Ready() + { + GameController.Instance = this; + } +} diff --git a/Scripts/Common/GameController.cs.uid b/Scripts/Common/GameController.cs.uid new file mode 100644 index 0000000..e35dfdf --- /dev/null +++ b/Scripts/Common/GameController.cs.uid @@ -0,0 +1 @@ +uid://djp8dmixf6sq2 diff --git a/Scripts/Enemies/EnemyMovement.cs b/Scripts/Enemies/EnemyMovement.cs new file mode 100644 index 0000000..b7f636f --- /dev/null +++ b/Scripts/Enemies/EnemyMovement.cs @@ -0,0 +1,26 @@ +using Godot; +using System; + +public partial class EnemyMovement : Node +{ + [Export] private NavigationAgent2D _agent2D; + [Export] private CharacterBody2D _body2D; + [Export] private float _speed; + + private double _time = 0; + + public override void _PhysicsProcess(double delta) + { + _time += delta; + if (_time > 0.2) + { + _time = 0; + _agent2D.SetTargetPosition(GameController.Instance.Player.GlobalPosition); + } + // _parent.Position = _agent2D.GetNextPathPosition(); + var gpos = _agent2D.GetNextPathPosition(); + var dir = (gpos - _body2D.GlobalPosition).Normalized(); + // _body2D.SetVelocity(dir * _speed * (float)delta); + _body2D.GlobalPosition += dir * _speed * (float)delta; + } +} diff --git a/Scripts/Enemies/EnemyMovement.cs.uid b/Scripts/Enemies/EnemyMovement.cs.uid new file mode 100644 index 0000000..beec006 --- /dev/null +++ b/Scripts/Enemies/EnemyMovement.cs.uid @@ -0,0 +1 @@ +uid://cu37tswrk107q diff --git a/Scripts/PlayerMovement.cs b/Scripts/PlayerMovement.cs new file mode 100644 index 0000000..17fce7f --- /dev/null +++ b/Scripts/PlayerMovement.cs @@ -0,0 +1,31 @@ +using Godot; +using System; + +public partial class PlayerMovement : Node +{ + [Export] private CharacterBody2D _body2D; + + [Export] private float _speed; + + private Vector2 _direction = new (); + + public override void _Process(double delta) + { + ReadInput(); + } + + public override void _PhysicsProcess(double delta) + { + float dt = (float)delta; + + _body2D.SetVelocity(_direction * _speed * dt); + _body2D.MoveAndSlide(); + } + + private void ReadInput() + { + _direction.X = Input.GetAxis("move_left", "move_right"); + _direction.Y = Input.GetAxis("move_up", "move_down"); + _direction = _direction.Normalized(); + } +} diff --git a/Scripts/PlayerMovement.cs.uid b/Scripts/PlayerMovement.cs.uid new file mode 100644 index 0000000..5ae919f --- /dev/null +++ b/Scripts/PlayerMovement.cs.uid @@ -0,0 +1 @@ +uid://8drbh4rcl410 diff --git a/fgj26.csproj b/fgj26.csproj new file mode 100644 index 0000000..35eb59a --- /dev/null +++ b/fgj26.csproj @@ -0,0 +1,7 @@ + + + net8.0 + net9.0 + true + + \ No newline at end of file diff --git a/fgj26.sln b/fgj26.sln new file mode 100644 index 0000000..94268eb --- /dev/null +++ b/fgj26.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fgj26", "fgj26.csproj", "{ECD24DA8-80B8-437C-9DB1-839996C9A21B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + ExportDebug|Any CPU = ExportDebug|Any CPU + ExportRelease|Any CPU = ExportRelease|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU + {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU + EndGlobalSection +EndGlobal diff --git a/project.godot b/project.godot index 1d617df..d03a47f 100644 --- a/project.godot +++ b/project.godot @@ -11,9 +11,53 @@ config_version=5 [application] config/name="fgj26" -config/features=PackedStringArray("4.5", "Forward Plus") +run/main_scene="uid://csyk43kt3xbyx" +config/features=PackedStringArray("4.5", "C#", "Forward Plus") config/icon="res://icon.svg" [dotnet] project/assembly_name="fgj26" + +[input] + +move_up={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) +] +} +move_right={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) +] +} +move_down={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) +] +} +move_left={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) +] +} +dash={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +] +} +attack={ +"deadzone": 0.1, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null) +] +} + +[physics] + +2d/default_gravity_vector=Vector2(0, 0)