From be0c819c8b22d9ffaef7fe5c6671de9cd9888853 Mon Sep 17 00:00:00 2001 From: maru Date: Sat, 31 Jan 2026 01:54:47 +0200 Subject: [PATCH] Basic player & enemy movement. --- .idea/.idea.fgj26/.idea/.gitignore | 15 +++ .idea/.idea.fgj26/.idea/.name | 1 + .idea/.idea.fgj26/.idea/encodings.xml | 4 + .idea/.idea.fgj26/.idea/indexLayout.xml | 8 ++ .idea/.idea.fgj26/.idea/libraries/GdSdk.xml | 9 ++ .idea/.idea.fgj26/.idea/vcs.xml | 6 ++ .../Characters/Enemies/stone-Sheet.png | Bin 0 -> 2062 bytes .../Characters/Enemies/stone-Sheet.png.import | 40 ++++++++ .../Characters/Player/kitsune-Sheet.png | Bin 0 -> 1271 bytes .../Player/kitsune-Sheet.png.import | 40 ++++++++ Assets/Sprites/Environments/environment.png | Bin 0 -> 4678 bytes .../Environments/environment.png.import | 40 ++++++++ Prefabs/Enemies/rock_boi.tscn | 89 ++++++++++++++++++ Prefabs/player.tscn | 83 ++++++++++++++++ Resources/environment.tres | 86 +++++++++++++++++ Scenes/game.tscn | 46 +++++++++ Scripts/Common/GameController.cs | 14 +++ Scripts/Common/GameController.cs.uid | 1 + Scripts/Enemies/EnemyMovement.cs | 26 +++++ Scripts/Enemies/EnemyMovement.cs.uid | 1 + Scripts/PlayerMovement.cs | 31 ++++++ Scripts/PlayerMovement.cs.uid | 1 + fgj26.csproj | 7 ++ fgj26.sln | 19 ++++ project.godot | 46 ++++++++- 25 files changed, 612 insertions(+), 1 deletion(-) create mode 100644 .idea/.idea.fgj26/.idea/.gitignore create mode 100644 .idea/.idea.fgj26/.idea/.name create mode 100644 .idea/.idea.fgj26/.idea/encodings.xml create mode 100644 .idea/.idea.fgj26/.idea/indexLayout.xml create mode 100644 .idea/.idea.fgj26/.idea/libraries/GdSdk.xml create mode 100644 .idea/.idea.fgj26/.idea/vcs.xml create mode 100644 Assets/Sprites/Characters/Enemies/stone-Sheet.png create mode 100644 Assets/Sprites/Characters/Enemies/stone-Sheet.png.import create mode 100644 Assets/Sprites/Characters/Player/kitsune-Sheet.png create mode 100644 Assets/Sprites/Characters/Player/kitsune-Sheet.png.import create mode 100644 Assets/Sprites/Environments/environment.png create mode 100644 Assets/Sprites/Environments/environment.png.import create mode 100644 Prefabs/Enemies/rock_boi.tscn create mode 100644 Prefabs/player.tscn create mode 100644 Resources/environment.tres create mode 100644 Scenes/game.tscn create mode 100644 Scripts/Common/GameController.cs create mode 100644 Scripts/Common/GameController.cs.uid create mode 100644 Scripts/Enemies/EnemyMovement.cs create mode 100644 Scripts/Enemies/EnemyMovement.cs.uid create mode 100644 Scripts/PlayerMovement.cs create mode 100644 Scripts/PlayerMovement.cs.uid create mode 100644 fgj26.csproj create mode 100644 fgj26.sln 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 0000000000000000000000000000000000000000..382239737ab5a79f49632cfe03f9da2e63107c03 GIT binary patch literal 2062 zcmeAS@N?(olHy`uVBq!ia0y~yV0gg5z@Wgv#=yY9eY7N$fq{XsILO_JVcj{ImkbQ- zCp=voLn`LHowL60wwK7U{cdNqC2m~e`!H1~Axj`YNI+`Wf)wSYLGu@=EI5!7pTMlM zwB+R>DV8M)3Rf0P%SjMm-tVOKv}v|+`5W2)->+S|)vmI8+jDc{f9GZz8<#a4WRuR> zaFFfw;@XU&jhVB;8D{vXeX!wYD6pCET&1Nqom;G%^^k#2$hItXo%cdfHeNWM?NBzf>E&2{GzH#8a{Qs9PIcF_< z8h5+(UnN)8tY@LuOZROrw2-N|=Uth1>)Y?zN0&G0$ndd8Ogp+?xMu%-<-W&3D-Zmv zaT9S}`$3bRz2W};`sZc$qCdyS#j(}(&0JP#>ib#hc;V_A*T4^df0w^wiF~8??5{dVvi4s#Q$eMVCyUKK)Fu zS7@j(->nvT7RLQym$%$G8)(QBbbI!v@4szr&U?EYSY!2NraxbT1Y6GSyx#qH^L8>z zv@u>U6=ZQ-#25Rjo+a^;q^ls$;RAQ?%EpJyJ^y@<(2l1&B%}&3nG_ zWRt>!`R^tvBdbJ1Lu@%E$1Ke~(>>^`4lEbx9P zk-YX}A-Bd7YmYG1-BqN_;p&?#DnUhT7-PEght5M0gltU)8J3b7}qi>npdvzkg>_ z2FJhWf8zb*Ss0rX7?OLctz>WKm~p;e&bjij#f})gKgL~)T)22T8E!o=7X+EWvEcn5 z8}^J-`o;_;EB^;x^L&)WuX}izwaI&nsb4=o_qWshS}VU}El+2dO2e){Uo1;mFSNwF zG1NX6w{(cLi@eC7VEsJ*Wqr%-M=Wz+{I;8)F{$(1gY2v{=cCD+ydtNywzspNdH(sx zq=JbIvp(DwaJc+UoO8kZnwyr3n6EsYF3Yg%O8p~G3D>~5gPXa8wNH zc)e>2a~I2nDgI&M48A{8Sud2=O=I3t`d?9=;lk2?m0VuGWqS-??CP`V6F$5p=f3ja zSet!!^ETdo`{B=@Gt!Q$-6EaKrZK$waQXVAsiF>-zokoVtv8yv=N8{f&H4Ncjsg#U z{*-hS*rT2bSycbidb!VS#bJuH{@24&&nek+y z-vrCVc?_#Qe0~)d&fxolmFb1Gyv9R@&>t%d8A_J^pO`sokHD=p^UkL2aXxWEbJeUJ z@{{yFr!8d(Xw_d`Ez4-~FkIB({!drFfY$hf{G@}|cYUu^D$rkrMRFkj9UFVe8?H7BFPq^_=>#~)`{#7&*A z&TvfPzli$F+NaB96YSbrexIfvBgO?qGKt>*g4hpiTU_x^ol>dTW8 zOPo(=o_g{trSI_p6W_YrYk$^jFoiwbF3R|l%_OrvkmZeayvapJ7xs)p>Wf{cZecE2 z`~QfYLgmgy8lBhmL58RnNcWvgnYz%e(_DPzY{xJ+hR~mpXI3#OWFJyLE#z?jXR6Es z&i!u~8v4G>uTz}<{7v^!rrU4L3XN=I6^yHjTII_2g*L6<)Tun-dF7?>pi7zzy>X#G zjZS+uZj4&HE@_t+Q%3W93qJYYLg9uP_X6#|PSuyPWXLxjYNj*L;kr%AEGkzj|uv7x(MkeH}c$WlR4bl7A)|JjH;A+kE%-+qrM& zvrOk)z`387(ZM5d^{3NZ3*Of}v2Y0fYx+0v-u7$tFNKdTSG&}(Cpq*qNL~E5Z{>5X j_Lcr-ue1O8pQ(0t)hdw%k4+gE7#KWV{an^LB{Ts5gevL! literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..cd6af67d50ef939e581c9683686f582515713e2f GIT binary patch literal 1271 zcmeAS@N?(olHy`uVBq!ia0y~yU`SwKU{K&-V_;x-d!ROifq{XsILO_JVcj{ImkbOn z8$DedLoyogM(y{1>>={6XUC(iYysII4Ytf+m7oS5(f^KIU9+b;Iqo#Q+nTqPHE2iP z?%Z&{LZP@$k)Qk-dWlE9mMu8o+Eo&LF=&tWhP5C2Hy$@O+qqjk^1;UaKkt3Nw`b-? zS%u@zK3j%n{@*`yZJqX?8as6*rR$}_=DXK)Ni|f-TaVn8mCyyR%Msj}c@2-#?sp?mV!1^Wf7nHii%FVt;=LWgOO@y|ym4MvZav zO`f}X;tUUd*V)L{@Z2sva$PYYmT}9~{8s*QIhKaFdHoy=y~mTK`j2;RQ>rP^XZTcW zU+D7Iwc`Hw&JK?)Q7TcoT{>3!w^*+p%wK(ZNUtjJc+N{^{lUy!+SwvwFm?$kKZ}`BSaEF)xFL45Q$*juX}v9x1X6hQ~52WUg5? zy?O!;5uaw;^UMry-n@B`Jmc*5-Mc07@(){E9O(aC+)ylP|L)zpg3{8~gV)zr?BC7J zup>^-(WO9!-QVAThKAg>WtTO>R*PEA<=ZDK_vrik`;W8x9yb`WowH!rn==gys*Q!=|p-08uSCoFs8_!&NA8XPF7mS#B6*Z=Xr&Q1IbFTVel;9>hA z!uG3bXHDs~LI;-_K5CMCbnEB-TK(X0y~Xn_5jsVT3DgB97yD-iE(DvK8 zHgER@dO3=aqcV zWt=z)&TVzy(8K;Zzug?Dydm;Pg z#4JP3a;H=7S)z7Yu2-4Vr>6<9^u3$5vEzP9e%!MABJs=YH*%cf?h;VaOJBKU>&KVb ztbM^*S5AdlP3r!${ow6SuV4AIIND7=z5bQoBCefY4p-KF-Ynw!>C>|IQ~zdv%4Uzh zy6|jscxchp7wdnm-eMBBDo%Ni=KjzR%E7&>wERT&9??21)pdQAne-F?FNv${6Q`|L n=xP4p7E}7^`M1!LkMjS|>CW|vFMGzoz`)??>gTe~DWM4fDpq1P literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..47b0eaa843ad4629a7a2575f5df7b93661f434e4 GIT binary patch literal 4678 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 literal 0 HcmV?d00001 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)