diff --git a/aseprite/hood_player.aseprite b/aseprite/hood_player.aseprite index b971781..9d88f67 100644 Binary files a/aseprite/hood_player.aseprite and b/aseprite/hood_player.aseprite differ diff --git a/aseprite/hood_player.png b/aseprite/hood_player.png new file mode 100644 index 0000000..f8e13d4 Binary files /dev/null and b/aseprite/hood_player.png differ diff --git a/aseprite/tileset_grass_random.aseprite b/aseprite/tileset_grass_random.aseprite new file mode 100644 index 0000000..3a6291d Binary files /dev/null and b/aseprite/tileset_grass_random.aseprite differ diff --git a/assets/textures/spritesheets/hood_player.png b/assets/textures/spritesheets/hood_player.png index 68c18d5..f8e13d4 100644 Binary files a/assets/textures/spritesheets/hood_player.png and b/assets/textures/spritesheets/hood_player.png differ diff --git a/assets/textures/spritesheets/table_chair.png b/assets/textures/spritesheets/table_chair.png new file mode 100644 index 0000000..29d8bb0 Binary files /dev/null and b/assets/textures/spritesheets/table_chair.png differ diff --git a/assets/textures/spritesheets/table_chair.png.import b/assets/textures/spritesheets/table_chair.png.import new file mode 100644 index 0000000..ba6e986 --- /dev/null +++ b/assets/textures/spritesheets/table_chair.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duxnw68jxoauh" +path="res://.godot/imported/table_chair.png-e74f8b9bc13823f10c8b29c28e9a3a90.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/spritesheets/table_chair.png" +dest_files=["res://.godot/imported/table_chair.png-e74f8b9bc13823f10c8b29c28e9a3a90.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/textures/tilemaps/grass_tilemap.png b/assets/textures/tilemaps/grass_tilemap.png index daec93b..2bbaff8 100644 Binary files a/assets/textures/tilemaps/grass_tilemap.png and b/assets/textures/tilemaps/grass_tilemap.png differ diff --git a/scenes/interactables/chair.tscn b/scenes/interactables/chair.tscn new file mode 100644 index 0000000..cfe4285 --- /dev/null +++ b/scenes/interactables/chair.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=6 format=3 uid="uid://bsvy3yhylfoui"] + +[ext_resource type="Script" uid="uid://c1xp6fm2mh83g" path="res://scripts/interactables/chair.gd" id="1_asrj3"] +[ext_resource type="PackedScene" uid="uid://n24dhbpflcec" path="res://scenes/interactable.tscn" id="3_dblhm"] + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_o804i"] +load_path = "res://.godot/imported/table_chair.png-e74f8b9bc13823f10c8b29c28e9a3a90.ctex" + +[sub_resource type="AtlasTexture" id="AtlasTexture_asrj3"] +resource_local_to_scene = true +atlas = SubResource("CompressedTexture2D_o804i") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_w04lg"] +size = Vector2(14, 18) + +[node name="Chair" type="StaticBody2D"] +script = ExtResource("1_asrj3") +direction = 2 + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = SubResource("AtlasTexture_asrj3") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(1, 6) +shape = SubResource("RectangleShape2D_w04lg") + +[node name="Interactable" parent="." instance=ExtResource("3_dblhm")] + +[connection signal="interacted" from="Interactable" to="." method="_on_interacted"] diff --git a/scenes/interactables/interact_sceneswitch.tscn b/scenes/interactables/interact_sceneswitch.tscn index e496d87..eea334e 100644 --- a/scenes/interactables/interact_sceneswitch.tscn +++ b/scenes/interactables/interact_sceneswitch.tscn @@ -8,4 +8,4 @@ script = ExtResource("1_f3ssn") [node name="Interactable" parent="." instance=ExtResource("2_43o6g")] -[connection signal="interacted" from="Interactable" to="." method="_on_interactable_interacted"] +[connection signal="interacted" from="Interactable" to="." method="_on_interacted"] diff --git a/scenes/levels/home.tscn b/scenes/levels/home.tscn index a4417eb..4f43c5b 100644 --- a/scenes/levels/home.tscn +++ b/scenes/levels/home.tscn @@ -1,10 +1,12 @@ -[gd_scene load_steps=5 format=4 uid="uid://ccfdsdgaon63m"] +[gd_scene load_steps=6 format=4 uid="uid://ccfdsdgaon63m"] [ext_resource type="PackedScene" uid="uid://dfbomt0l6b1o4" path="res://scenes/player.tscn" id="1_ikf4c"] [ext_resource type="Texture2D" uid="uid://dve2b2glwitsw" path="res://assets/textures/tilemaps/grass_tilemap.png" id="1_q28r8"] +[ext_resource type="PackedScene" uid="uid://bsvy3yhylfoui" path="res://scenes/interactables/chair.tscn" id="3_2vl8h"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_2vl8h"] texture = ExtResource("1_q28r8") +texture_region_size = Vector2i(32, 32) 0:0/0 = 0 1:0/0 = 0 2:0/0 = 0 @@ -71,14 +73,31 @@ texture = ExtResource("1_q28r8") 7:7/0 = 0 [sub_resource type="TileSet" id="TileSet_ikf4c"] -sources/1 = SubResource("TileSetAtlasSource_2vl8h") +tile_size = Vector2i(32, 32) +sources/0 = SubResource("TileSetAtlasSource_2vl8h") [node name="Home" type="Node2D"] [node name="TileMapLayer" type="TileMapLayer" parent="."] -tile_map_data = PackedByteArray("AAAGAAMAAQACAAMAAAAGAAQAAQACAAMAAAAGAAUAAQACAAMAAAAGAAYAAQACAAMAAAAGAAcAAQACAAMAAAAGAAgAAQACAAMAAAAGAAkAAQACAAMAAAAGAAoAAQACAAMAAAAGAAsAAQACAAMAAAAGAAwAAQACAAMAAAAHAAMAAQACAAMAAAAHAAQAAQACAAMAAAAHAAUAAQACAAMAAAAHAAYAAQACAAMAAAAHAAcAAQACAAMAAAAHAAgAAQACAAMAAAAHAAkAAQACAAMAAAAHAAoAAQACAAMAAAAHAAsAAQACAAMAAAAHAAwAAQACAAMAAAAIAAMAAQACAAMAAAAIAAQAAQACAAMAAAAIAAUAAQACAAMAAAAIAAYAAQACAAMAAAAIAAcAAQACAAMAAAAIAAgAAQACAAMAAAAIAAkAAQACAAMAAAAIAAoAAQACAAMAAAAIAAsAAQACAAMAAAAIAAwAAQACAAMAAAAJAAMAAQACAAMAAAAJAAQAAQACAAMAAAAJAAUAAQACAAMAAAAJAAYAAQACAAMAAAAJAAcAAQACAAMAAAAJAAgAAQACAAMAAAAJAAkAAQACAAMAAAAJAAoAAQACAAMAAAAJAAsAAQACAAMAAAAJAAwAAQACAAMAAAAKAAMAAQACAAMAAAAKAAQAAQACAAMAAAAKAAUAAQACAAMAAAAKAAYAAQACAAMAAAAKAAcAAQACAAMAAAAKAAgAAQACAAMAAAAKAAkAAQACAAMAAAAKAAoAAQACAAMAAAAKAAsAAQACAAMAAAAKAAwAAQACAAMAAAALAAMAAQACAAMAAAALAAQAAQACAAMAAAALAAUAAQACAAMAAAALAAYAAQACAAMAAAALAAcAAQACAAMAAAALAAgAAQACAAMAAAALAAkAAQACAAMAAAALAAoAAQACAAMAAAALAAsAAQACAAMAAAALAAwAAQACAAMAAAAMAAMAAQACAAMAAAAMAAQAAQACAAMAAAAMAAUAAQACAAMAAAAMAAYAAQACAAMAAAAMAAcAAQACAAMAAAAMAAgAAQACAAMAAAAMAAkAAQACAAMAAAAMAAoAAQACAAMAAAAMAAsAAQACAAMAAAAMAAwAAQACAAMAAAANAAMAAQACAAMAAAANAAQAAQACAAMAAAANAAUAAQACAAMAAAANAAYAAQACAAMAAAANAAcAAQACAAMAAAANAAgAAQACAAMAAAANAAkAAQACAAMAAAANAAoAAQACAAMAAAANAAsAAQACAAMAAAANAAwAAQACAAMAAAAOAAMAAQACAAMAAAAOAAQAAQACAAMAAAAOAAUAAQACAAMAAAAOAAYAAQACAAMAAAAOAAcAAQACAAMAAAAOAAgAAQACAAMAAAAOAAkAAQACAAMAAAAOAAoAAQACAAMAAAAOAAsAAQACAAMAAAAOAAwAAQACAAMAAAAPAAMAAQACAAMAAAAPAAQAAQACAAMAAAAPAAUAAQACAAMAAAAPAAYAAQACAAMAAAAPAAcAAQACAAMAAAAPAAgAAQACAAMAAAAPAAkAAQACAAMAAAAPAAoAAQACAAMAAAAPAAsAAQACAAMAAAAPAAwAAQACAAMAAAA=") +tile_map_data = PackedByteArray("AAACAAIAAAAGAAIAAAACAAMAAAAGAAIAAAACAAUAAAAGAAIAAAACAAYAAAAGAAIAAAACAAcAAAAGAAIAAAADAAIAAAAGAAIAAAADAAMAAAAGAAIAAAADAAUAAAAGAAIAAAADAAYAAAAGAAIAAAADAAcAAAAGAAIAAAAEAAIAAAAGAAIAAAAEAAMAAAAGAAIAAAAEAAUAAAAGAAIAAAAEAAYAAAAGAAIAAAAEAAcAAAAGAAIAAAAFAAIAAAAGAAIAAAAFAAUAAAAGAAIAAAAFAAYAAAAGAAIAAAAFAAcAAAAGAAIAAAAGAAIAAAAGAAIAAAAGAAMAAAAGAAIAAAAGAAUAAAAGAAIAAAAGAAYAAAAGAAIAAAAGAAcAAAAGAAIAAAAHAAIAAAAGAAIAAAAHAAMAAAAGAAIAAAAHAAQAAAAGAAIAAAAHAAUAAAAGAAIAAAAHAAYAAAAGAAIAAAAHAAcAAAAGAAIAAAAIAAIAAAAGAAIAAAAIAAMAAAAGAAIAAAAIAAQAAAAGAAIAAAAIAAUAAAAGAAIAAAAIAAYAAAAGAAIAAAAIAAcAAAAGAAIAAAACAAQAAAAGAAIAAAADAAQAAAAGAAIAAAAEAAQAAAAGAAIAAAAFAAQAAAAGAAIAAAAGAAQAAAAGAAIAAAAFAAMAAAAGAAIAAAA=") tile_set = SubResource("TileSet_ikf4c") +[node name="Chair" parent="." instance=ExtResource("3_2vl8h")] +position = Vector2(144, 144) +direction = 1 + +[node name="Chair2" parent="." instance=ExtResource("3_2vl8h")] +position = Vector2(208, 144) +direction = 0 + +[node name="Chair3" parent="." instance=ExtResource("3_2vl8h")] +position = Vector2(176, 112) + [node name="Player" parent="." node_paths=PackedStringArray("tilemap") instance=ExtResource("1_ikf4c")] position = Vector2(180, 183) tilemap = NodePath("../TileMapLayer") + +[node name="AnimatedSprite2D" parent="Player" index="0"] +animation = &"up" + +[editable path="Player"] diff --git a/scenes/levels/hood.tscn b/scenes/levels/hood.tscn index 94ed45a..564a8f0 100644 --- a/scenes/levels/hood.tscn +++ b/scenes/levels/hood.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=8 format=4 uid="uid://clnb1eshis30m"] +[gd_scene load_steps=10 format=4 uid="uid://clnb1eshis30m"] [ext_resource type="Texture2D" uid="uid://dve2b2glwitsw" path="res://assets/textures/tilemaps/grass_tilemap.png" id="1_74em3"] +[ext_resource type="Material" uid="uid://cmbcfxlkxxnwq" path="res://addons/TileMapDual/ghost_material.tres" id="1_eywaq"] [ext_resource type="PackedScene" uid="uid://dfbomt0l6b1o4" path="res://scenes/player.tscn" id="1_ge1l5"] [ext_resource type="PackedScene" uid="uid://cokphmh2g8wvs" path="res://scenes/houses/home.tscn" id="3_5rqdi"] +[ext_resource type="Script" uid="uid://cjk8nronimk5r" path="res://addons/TileMapDual/TileMapDual.gd" id="3_hrrfd"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_1r5ec"] texture = ExtResource("1_74em3") @@ -139,6 +141,7 @@ texture_region_size = Vector2i(32, 32) 3:2/0/terrains_peering_bit/top_left_corner = 1 3:2/0/terrains_peering_bit/top_side = 0 3:2/0/terrains_peering_bit/top_right_corner = 0 +0:3/next_alternative_id = 5 0:3/0 = 0 0:3/0/terrain_set = 0 0:3/0/terrain = 0 @@ -150,6 +153,7 @@ texture_region_size = Vector2i(32, 32) 0:3/0/terrains_peering_bit/top_left_corner = 0 0:3/0/terrains_peering_bit/top_side = 0 0:3/0/terrains_peering_bit/top_right_corner = 0 +0:3/1 = 1 1:3/0 = 0 1:3/0/terrain_set = 0 1:3/0/terrain = 0 @@ -191,6 +195,8 @@ terrain_set_0/terrain_0/name = "Grass" terrain_set_0/terrain_0/color = Color(0, 0.5365651, 0.20230255, 1) terrain_set_0/terrain_1/name = "Dirt" terrain_set_0/terrain_1/color = Color(0.5, 0.34375, 0.25, 1) +terrain_set_0/terrain_2/name = "FG -grass_tilemap.png" +terrain_set_0/terrain_2/color = Color(0.46875, 0.5, 0.25, 1) sources/2 = SubResource("TileSetAtlasSource_1r5ec") [sub_resource type="TileSetScenesCollectionSource" id="TileSetScenesCollectionSource_1r5ec"] @@ -207,10 +213,14 @@ y_sort_enabled = true [node name="Ground" type="TileMapLayer" parent="."] z_index = -1 -tile_map_data = PackedByteArray("AAAQAAkAAgAAAAMAAAAQAAgAAgAAAAMAAAAQAAcAAgAAAAMAAAAQAAYAAgAAAAMAAAAQAAUAAgAAAAMAAAAQAAQAAgAAAAMAAAAQAAMAAgAAAAMAAAAQAAIAAgAAAAMAAAAQAAEAAgAAAAMAAAAQAAAAAgAAAAMAAAAQAP//AgAAAAMAAAAQAP7/AgAAAAMAAAAPAAkAAgAAAAMAAAAPAAgAAgAAAAMAAAAPAAcAAgAAAAMAAAAPAAYAAgADAAMAAAAPAAUAAgADAAIAAAAPAAQAAgAAAAAAAAAPAAMAAgAAAAMAAAAPAAIAAgAAAAMAAAAPAAEAAgAAAAMAAAAPAAAAAgAAAAMAAAAPAP//AgAAAAMAAAAPAP7/AgAAAAMAAAAOAAkAAgAAAAMAAAAOAAgAAgAAAAMAAAAOAAcAAgAAAAMAAAAOAAYAAgABAAIAAAAOAAUAAgACAAEAAAAOAAQAAgADAAAAAAAOAAMAAgAAAAMAAAAOAAIAAgAAAAMAAAAOAAEAAgAAAAMAAAAOAAAAAgAAAAMAAAAOAP//AgAAAAMAAAAOAP7/AgAAAAMAAAANAAkAAgAAAAMAAAANAAgAAgAAAAMAAAANAAcAAgAAAAMAAAANAAYAAgABAAIAAAANAAUAAgACAAEAAAANAAQAAgADAAAAAAANAAMAAgAAAAMAAAANAAIAAgAAAAMAAAANAAEAAgAAAAMAAAANAAAAAgAAAAMAAAANAP//AgAAAAMAAAANAP7/AgAAAAMAAAAMAAkAAgAAAAMAAAAMAAgAAgAAAAMAAAAMAAcAAgAAAAMAAAAMAAYAAgABAAIAAAAMAAUAAgACAAEAAAAMAAQAAgADAAAAAAAMAAMAAgAAAAMAAAAMAAIAAgAAAAMAAAAMAAEAAgAAAAMAAAAMAAAAAgAAAAMAAAAMAP//AgAAAAMAAAAMAP7/AgAAAAMAAAALAAkAAgAAAAMAAAALAAgAAgAAAAMAAAALAAcAAgAAAAMAAAALAAYAAgABAAIAAAALAAUAAgACAAEAAAALAAQAAgADAAAAAAALAAMAAgAAAAMAAAALAAIAAgAAAAMAAAALAAEAAgAAAAMAAAALAAAAAgAAAAMAAAALAP//AgAAAAMAAAALAP7/AgAAAAMAAAAKAAkAAgAAAAMAAAAKAAgAAgAAAAMAAAAKAAcAAgAAAAMAAAAKAAYAAgABAAIAAAAKAAUAAgACAAEAAAAKAAQAAgACAAAAAAAKAAMAAgADAAIAAAAKAAIAAgAAAAAAAAAKAAEAAgAAAAMAAAAKAAAAAgAAAAMAAAAKAP//AgAAAAMAAAAKAP7/AgAAAAMAAAAJAAkAAgAAAAMAAAAJAAgAAgAAAAMAAAAJAAcAAgAAAAMAAAAJAAYAAgABAAIAAAAJAAUAAgACAAEAAAAJAAQAAgACAAEAAAAJAAMAAgACAAEAAAAJAAIAAgADAAAAAAAJAAEAAgAAAAMAAAAJAAAAAgAAAAMAAAAJAP//AgAAAAMAAAAJAP7/AgAAAAMAAAAIAAkAAgAAAAMAAAAIAAgAAgAAAAMAAAAIAAcAAgAAAAMAAAAIAAYAAgABAAIAAAAIAAUAAgACAAEAAAAIAAQAAgABAAEAAAAIAAMAAgABAAAAAAAIAAIAAgABAAMAAAAIAAEAAgAAAAMAAAAIAAAAAgAAAAMAAAAIAP//AgAAAAMAAAAIAP7/AgAAAAMAAAAHAAkAAgAAAAMAAAAHAAgAAgAAAAMAAAAHAAcAAgAAAAMAAAAHAAYAAgABAAIAAAAHAAUAAgACAAEAAAAHAAQAAgADAAAAAAAHAAMAAgAAAAMAAAAHAAIAAgAAAAMAAAAHAAEAAgAAAAMAAAAHAAAAAgAAAAMAAAAHAP//AgAAAAMAAAAHAP7/AgAAAAMAAAAGAAkAAgAAAAMAAAAGAAgAAgAAAAMAAAAGAAcAAgAAAAMAAAAGAAYAAgABAAIAAAAGAAUAAgACAAEAAAAGAAQAAgADAAAAAAAGAAMAAgAAAAMAAAAGAAIAAgAAAAMAAAAGAAEAAgAAAAMAAAAGAAAAAgAAAAMAAAAGAP//AgAAAAMAAAAGAP7/AgAAAAMAAAAFAAkAAgAAAAMAAAAFAAgAAgAAAAMAAAAFAAcAAgAAAAMAAAAFAAYAAgABAAIAAAAFAAUAAgACAAEAAAAFAAQAAgADAAAAAAAFAAMAAgAAAAMAAAAFAAIAAgAAAAMAAAAFAAEAAgAAAAMAAAAFAAAAAgAAAAMAAAAFAP//AgAAAAMAAAAFAP7/AgAAAAMAAAAEAAkAAgAAAAMAAAAEAAgAAgAAAAMAAAAEAAcAAgAAAAMAAAAEAAYAAgABAAIAAAAEAAUAAgACAAEAAAAEAAQAAgACAAAAAAAEAAMAAgADAAIAAAAEAAIAAgADAAIAAAAEAAEAAgAAAAAAAAAEAAAAAgAAAAMAAAAEAP//AgAAAAMAAAAEAP7/AgAAAAMAAAADAAkAAgAAAAMAAAADAAgAAgAAAAMAAAADAAcAAgAAAAMAAAADAAYAAgABAAIAAAADAAUAAgACAAEAAAADAAQAAgACAAEAAAADAAMAAgACAAEAAAADAAIAAgACAAEAAAADAAEAAgADAAAAAAADAAAAAgAAAAMAAAADAP//AgAAAAMAAAADAP7/AgAAAAMAAAACAAkAAgAAAAMAAAACAAgAAgAAAAMAAAACAAcAAgAAAAMAAAACAAYAAgAAAAIAAAACAAUAAgABAAAAAAACAAQAAgACAAIAAAACAAMAAgACAAEAAAACAAIAAgABAAEAAAACAAEAAgABAAMAAAACAAAAAgAAAAMAAAACAP//AgAAAAMAAAACAP7/AgAAAAMAAAABAAkAAgAAAAMAAAABAAgAAgAAAAMAAAABAAcAAgAAAAMAAAABAAYAAgAAAAMAAAABAAUAAgAAAAMAAAABAAQAAgABAAIAAAABAAMAAgACAAEAAAABAAIAAgADAAAAAAABAAEAAgAAAAMAAAABAAAAAgAAAAMAAAABAP//AgAAAAMAAAABAP7/AgAAAAMAAAAAAAkAAgAAAAMAAAAAAAgAAgAAAAMAAAAAAAcAAgAAAAMAAAAAAAYAAgAAAAMAAAAAAAUAAgAAAAMAAAAAAAQAAgABAAIAAAAAAAMAAgACAAEAAAAAAAIAAgADAAAAAAAAAAEAAgAAAAMAAAAAAAAAAgAAAAMAAAAAAP//AgAAAAMAAAAAAP7/AgAAAAMAAAD//wkAAgAAAAMAAAD//wgAAgAAAAMAAAD//wcAAgAAAAMAAAD//wYAAgAAAAMAAAD//wUAAgAAAAMAAAD//wQAAgABAAIAAAD//wMAAgACAAEAAAD//wIAAgADAAAAAAD//wEAAgAAAAMAAAD//wAAAgAAAAMAAAD/////AgAAAAMAAAD///7/AgAAAAMAAAD+/wkAAgAAAAMAAAD+/wgAAgAAAAMAAAD+/wcAAgAAAAMAAAD+/wYAAgAAAAMAAAD+/wUAAgAAAAMAAAD+/wQAAgAAAAIAAAD+/wMAAgABAAAAAAD+/wIAAgABAAMAAAD+/wEAAgAAAAMAAAD+/wAAAgAAAAMAAAD+////AgAAAAMAAAD+//7/AgAAAAMAAAA=") +material = ExtResource("1_eywaq") +tile_map_data = PackedByteArray("AAAQAAkAAgAAAAMAAAAQAAgAAgAAAAMAAAAQAAcAAgABAAIAAAAQAAYAAgACAAEAAAAQAAUAAgACAAEAAAAQAAQAAgADAAAAAAAQAAMAAgAAAAIAAAAQAAIAAgABAAMAAAAQAAEAAgAAAAMAAAAQAAAAAgAAAAMAAAAQAP//AgAAAAMAAAAQAP7/AgAAAAMAAAAPAAkAAgAAAAMAAAAPAAgAAgAAAAMAAAAPAAcAAgABAAIAAAAPAAYAAgACAAEAAAAPAAUAAgACAAEAAAAPAAQAAgACAAAAAAAPAAMAAgADAAIAAAAPAAIAAgAAAAAAAAAPAAEAAgAAAAMAAAAPAAAAAgAAAAMAAAAPAP//AgAAAAMAAAAPAP7/AgAAAAMAAAAOAAkAAgAAAAMAAAAOAAgAAgAAAAMAAAAOAAcAAgABAAIAAAAOAAYAAgACAAEAAAAOAAUAAgACAAEAAAAOAAQAAgACAAEAAAAOAAMAAgACAAEAAAAOAAIAAgADAAAAAAAOAAEAAgAAAAMAAAAOAAAAAgAAAAMAAAAOAP//AgAAAAMAAAAOAP7/AgAAAAMAAAANAAkAAgAAAAMAAAANAAgAAgAAAAMAAAANAAcAAgABAAIAAAANAAYAAgACAAEAAAANAAUAAgACAAEAAAANAAQAAgACAAEAAAANAAIAAgADAAAAAAANAAEAAgAAAAMAAAANAAAAAgAAAAMAAAANAP//AgAAAAMAAAANAP7/AgAAAAMAAAAMAAkAAgAAAAMAAAAMAAgAAgAAAAMAAAAMAAcAAgABAAIAAAAMAAYAAgACAAEAAAAMAAUAAgACAAEAAAAMAAQAAgACAAEAAAAMAAMAAgACAAEAAAAMAAIAAgADAAAAAAAMAAEAAgAAAAMAAAAMAAAAAgAAAAMAAAAMAP//AgAAAAMAAAAMAP7/AgAAAAMAAAALAAkAAgAAAAMAAAALAAgAAgAAAAMAAAALAAcAAgABAAIAAAALAAYAAgACAAEAAAALAAUAAgACAAEAAAALAAQAAgABAAEAAAALAAMAAgABAAAAAAALAAIAAgABAAMAAAALAAEAAgAAAAMAAAALAAAAAgAAAAMAAAALAP//AgAAAAMAAAALAP7/AgAAAAMAAAAKAAkAAgAAAAMAAAAKAAgAAgAAAAMAAAAKAAcAAgABAAIAAAAKAAYAAgACAAEAAAAKAAUAAgACAAEAAAAKAAQAAgADAAAAAAAKAAMAAgAAAAMAAAAKAAIAAgAAAAMAAAAKAAEAAgAAAAMAAAAKAAAAAgAAAAMAAAAKAP//AgAAAAMAAAAKAP7/AgAAAAMAAAAJAAkAAgADAAIAAAAJAAgAAgADAAIAAAAJAAcAAgADAAEAAAAJAAYAAgACAAEAAAAJAAUAAgACAAEAAAAJAAQAAgADAAAAAAAJAAMAAgAAAAMAAAAJAAIAAgAAAAMAAAAJAAEAAgAAAAMAAAAJAAAAAgAAAAMAAAAJAP//AgAAAAMAAAAJAP7/AgAAAAMAAAAIAAkAAgACAAEAAAAIAAgAAgACAAEAAAAIAAcAAgACAAEAAAAIAAYAAgACAAEAAAAIAAUAAgACAAEAAAAIAAQAAgADAAAAAAAIAAMAAgAAAAMAAAAIAAIAAgAAAAMAAAAIAAEAAgAAAAMAAAAIAAAAAgAAAAMAAAAIAP//AgAAAAMAAAAIAP7/AgAAAAMAAAAHAAkAAgACAAEAAAAHAAgAAgACAAEAAAAHAAcAAgACAAEAAAAHAAYAAgACAAEAAAAHAAUAAgACAAEAAAAHAAQAAgADAAAAAAAHAAMAAgAAAAMAAAAHAAIAAgAAAAMAAAAHAAEAAgAAAAMAAAAHAAAAAgAAAAMAAAAHAP//AgAAAAMAAAAHAP7/AgAAAAMAAAAGAAkAAgABAAAAAAAGAAgAAgABAAAAAAAGAAcAAgACAAIAAAAGAAYAAgACAAEAAAAGAAUAAgACAAEAAAAGAAQAAgADAAAAAAAGAAMAAgAAAAMAAAAGAAIAAgAAAAMAAAAGAAEAAgAAAAMAAAAGAAAAAgAAAAMAAAAGAP//AgAAAAMAAAAGAP7/AgAAAAMAAAAFAAkAAgAAAAMAAAAFAAgAAgAAAAMAAAAFAAcAAgABAAIAAAAFAAYAAgACAAEAAAAFAAUAAgACAAEAAAAFAAQAAgACAAAAAAAFAAMAAgADAAIAAAAFAAIAAgADAAIAAAAFAAEAAgADAAIAAAAFAAAAAgAAAAAAAAAFAP//AgAAAAMAAAAFAP7/AgAAAAMAAAAEAAkAAgAAAAMAAAAEAAgAAgAAAAMAAAAEAAcAAgABAAIAAAAEAAYAAgACAAEAAAAEAAUAAgACAAEAAAAEAAQAAgACAAEAAAAEAAMAAgACAAEAAAAEAAIAAgACAAEAAAAEAAEAAgACAAEAAAAEAAAAAgADAAAAAAAEAP//AgAAAAMAAAAEAP7/AgAAAAMAAAADAAkAAgAAAAMAAAADAAgAAgAAAAMAAAADAAcAAgABAAIAAAADAAYAAgACAAEAAAADAAUAAgACAAEAAAADAAQAAgACAAEAAAADAAMAAgACAAEAAAADAAIAAgACAAEAAAADAAEAAgACAAEAAAADAAAAAgADAAAAAAADAP//AgAAAAMAAAADAP7/AgAAAAMAAAACAAkAAgAAAAMAAAACAAgAAgAAAAMAAAACAAcAAgABAAIAAAACAAYAAgACAAEAAAACAAUAAgACAAEAAAACAAQAAgACAAEAAAACAAMAAgACAAEAAAACAAIAAgACAAEAAAACAAEAAgACAAEAAAACAAAAAgADAAAAAAACAP//AgAAAAMAAAACAP7/AgAAAAMAAAABAAkAAgAAAAMAAAABAAgAAgAAAAMAAAABAAcAAgAAAAIAAAABAAYAAgABAAAAAAABAAUAAgACAAIAAAABAAQAAgACAAEAAAABAAMAAgACAAEAAAABAAIAAgABAAEAAAABAAEAAgABAAAAAAABAAAAAgABAAMAAAABAP//AgAAAAMAAAABAP7/AgAAAAMAAAAAAAkAAgAAAAMAAAAAAAgAAgAAAAMAAAAAAAcAAgAAAAMAAAAAAAYAAgAAAAMAAAAAAAUAAgABAAIAAAAAAAQAAgACAAEAAAAAAAMAAgACAAEAAAAAAAIAAgADAAAAAAAAAAEAAgAAAAMAAAAAAAAAAgAAAAMAAAAAAP//AgAAAAMAAAAAAP7/AgAAAAMAAAD//wkAAgAAAAMAAAD//wgAAgAAAAMAAAD//wcAAgAAAAMAAAD//wYAAgAAAAMAAAD//wUAAgABAAIAAAD//wQAAgACAAEAAAD//wMAAgACAAEAAAD//wIAAgACAAAAAAD//wEAAgADAAIAAAD//wAAAgAAAAAAAAD/////AgAAAAMAAAD///7/AgAAAAMAAAD+/wkAAgAAAAMAAAD+/wgAAgAAAAMAAAD+/wcAAgAAAAMAAAD+/wUAAgABAAIAAAD+/wQAAgACAAEAAAD+/wMAAgACAAEAAAD+/wIAAgACAAEAAAD+/wEAAgACAAEAAAD+/wAAAgADAAAAAAD+////AgAAAAMAAAD+//7/AgAAAAMAAAD9/wMAAgACAAEAAAD9/wQAAgACAAEAAAD8/wMAAgACAAEAAAD8/wQAAgACAAEAAAD8/wIAAgACAAEAAAD9/wIAAgACAAEAAAD8/wEAAgACAAEAAAD9/wEAAgACAAEAAAD8//7/AgAAAAMAAAD8////AgAAAAMAAAD8/wYAAgAAAAMAAAD8/wgAAgAAAAMAAAD8/wkAAgAAAAMAAAD8/wsAAgAAAAMAAAD9/wsAAgAAAAMAAAD+/wsAAgAAAAMAAAD//wsAAgAAAAMAAAD//woAAgAAAAMAAAAAAAoAAgAAAAMAAAABAAoAAgAAAAMAAAACAAoAAgAAAAMAAAACAAsAAgAAAAMAAAADAAsAAgAAAAMAAAAEAAsAAgAAAAMAAAAFAAsAAgAAAAMAAAAGAAsAAgAAAAMAAAAHAAsAAgAAAAMAAAAIAAsAAgAAAAMAAAAEAAwAAgAAAAMAAAADAAwAAgAAAAMAAAACAAwAAgAAAAMAAAABAAwAAgAAAAMAAAAAAAwAAgAAAAMAAAAAAAsAAgAAAAMAAAD//wwAAgAAAAMAAAD+/wwAAgAAAAMAAAD9/wwAAgAAAAMAAAD8/wwAAgAAAAMAAAAFAAwAAgAAAAMAAAAGAAwAAgAAAAMAAAAHAAwAAgAAAAMAAAAIAAwAAgAAAAMAAAAJAAwAAgAAAAMAAAAKAAwAAgAAAAMAAAALAAwAAgAAAAMAAAAMAAwAAgAAAAMAAAANAAwAAgAAAAMAAAAOAAsAAgAAAAMAAAAPAAsAAgAAAAMAAAAQAAsAAgAAAAMAAAAPAAwAAgAAAAMAAAAOAAwAAgAAAAMAAAALAAsAAgAAAAMAAAAKAAsAAgAAAAMAAAAMAAsAAgAAAAMAAAANAAsAAgAAAAMAAAAQAAwAAgAAAAMAAAARAAUAAgACAAEAAAARAAYAAgACAAEAAAASAAYAAgACAAEAAAASAAUAAgACAAEAAAATAAUAAgACAAEAAAATAAYAAgACAAEAAAARAAMAAgABAAIAAAASAAMAAgAAAAMAAAATAAMAAgAAAAMAAAARAAQAAgADAAAAAAASAAQAAgADAAAAAAATAAQAAgAAAAMAAAAUAAMAAgAAAAMAAAAUAAQAAgADAAAAAAAUAAUAAgACAAEAAAAUAAYAAgACAAEAAAAVAAUAAgACAAEAAAAVAAYAAgACAAEAAAAWAAYAAgACAAEAAAAWAAUAAgACAAEAAAAXAAYAAgACAAEAAAAXAAUAAgACAAEAAAAYAAYAAgACAAEAAAAYAAUAAgACAAEAAAASAAgAAgAAAAMAAAASAAkAAgAAAAMAAAASAAoAAgAAAAMAAAASAAsAAgAAAAMAAAASAAwAAgAAAAMAAAASAA0AAgAAAAMAAAATAA0AAgAAAAMAAAATAAwAAgAAAAMAAAAUAAwAAgAAAAMAAAAVAAwAAgAAAAMAAAAWAAwAAgAAAAMAAAAXAAwAAgAAAAMAAAAXAAsAAgAAAAMAAAAYAAsAAgAAAAMAAAAYAAoAAgAAAAMAAAAYAAkAAgAAAAIAAAAYAAgAAgABAAAAAAAXAAgAAgAAAAMAAAAWAAgAAgAAAAMAAAAVAAgAAgAAAAMAAAAUAAgAAgAAAAMAAAAUAAkAAgAAAAMAAAAVAAkAAgAAAAMAAAAWAAoAAgAAAAMAAAAXAAoAAgAAAAMAAAAUAAoAAgAAAAMAAAAYAA0AAgAAAAMAAAAXAA0AAgAAAAMAAAAWAA0AAgAAAAMAAAAVAA0AAgAAAAMAAAAUAA0AAgAAAAMAAAARAA0AAgAAAAMAAAAQAA0AAgAAAAMAAAAPAA0AAgAAAAMAAAANAA0AAgAAAAMAAAAMAA0AAgAAAAMAAAALAA0AAgAAAAMAAAAKAA0AAgAAAAMAAAAJAA0AAgAAAAMAAAAIAA0AAgAAAAMAAAAHAA0AAgAAAAMAAAAGAA0AAgAAAAMAAAAFAA0AAgAAAAMAAAAEAA0AAgAAAAMAAAADAA0AAgAAAAMAAAACAA0AAgAAAAMAAAABAA0AAgAAAAMAAAAAAA0AAgAAAAMAAAD//w0AAgAAAAMAAAD+/w0AAgAAAAMAAAD9/w0AAgAAAAMAAAD8/w0AAgAAAAMAAAD8/w4AAgAAAAMAAAD9/w4AAgAAAAMAAAD+/w4AAgAAAAMAAAD//w4AAgAAAAMAAAAAAA4AAgAAAAMAAAABAA4AAgAAAAMAAAACAA4AAgAAAAMAAAADAA4AAgAAAAMAAAAEAA4AAgAAAAMAAAAFAA4AAgAAAAMAAAAGAA4AAgAAAAMAAAAHAA4AAgAAAAMAAAAIAA4AAgAAAAMAAAAJAA4AAgAAAAMAAAAKAA4AAgAAAAMAAAALAA4AAgAAAAMAAAAMAA4AAgAAAAMAAAANAA4AAgAAAAMAAAAOAA4AAgAAAAMAAAAPAA4AAgAAAAMAAAAQAA4AAgAAAAMAAAARAA4AAgAAAAMAAAASAA4AAgAAAAMAAAATAA4AAgAAAAMAAAAUAA4AAgAAAAMAAAAVAA4AAgAAAAMAAAAWAA4AAgAAAAMAAAAXAA4AAgAAAAMAAAAYAA4AAgAAAAMAAAAYAAMAAgACAAEAAAAXAAMAAgACAAEAAAAWAAMAAgACAAEAAAAXAAIAAgACAAEAAAAYAAIAAgACAAEAAAAWAAIAAgACAAEAAAAVAAIAAgABAAAAAAAUAAIAAgAAAAMAAAATAAIAAgAAAAMAAAASAAEAAgAAAAMAAAATAAAAAgAAAAMAAAAUAAAAAgAAAAMAAAAVAAAAAgABAAAAAAAWAAAAAgACAAEAAAAXAAAAAgACAAEAAAAYAAAAAgACAAEAAAAYAP//AgADAAAAAAAYAP7/AgAAAAMAAAAXAP7/AgAAAAMAAAAWAP7/AgAAAAMAAAAVAP7/AgAAAAMAAAAUAP7/AgAAAAMAAAATAP7/AgAAAAMAAAASAP7/AgAAAAMAAAARAP7/AgAAAAMAAAARAP//AgAAAAMAAAASAP//AgAAAAMAAAASAAAAAgAAAAMAAAANAAMAAgACAAEAAAAWAAQAAgABAAEAAAAXAAQAAgACAAEAAAAYAAQAAgACAAEAAAAZAAIAAgACAAEAAAAZAAMAAgACAAEAAAAZAAQAAgACAAEAAAAaAAIAAgACAAEAAAAaAAMAAgACAAEAAAAaAAQAAgACAAEAAAAaAP7/AgAAAAMAAAAaAP//AgADAAAAAAAaAAAAAgACAAEAAAAbAAAAAgACAAEAAAAbAP//AgADAAAAAAAcAP//AgADAAAAAAAcAP7/AgAAAAMAAAAcAAAAAgACAAEAAAAcAAEAAgACAAEAAAAcAAIAAgACAAEAAAAbAAIAAgACAAEAAAAbAAMAAgACAAEAAAAbAAQAAgACAAEAAAAbAAUAAgADAAEAAAAbAAYAAgACAAAAAAAaAAYAAgACAAEAAAAaAAUAAgACAAEAAAAcAAQAAgACAAEAAAAcAAMAAgACAAEAAAAcAAUAAgABAAIAAAAcAAYAAgADAAAAAAAeAP7/AgAAAAMAAAAeAP//AgAAAAMAAAAeAAAAAgAAAAMAAAAeAAEAAgAAAAMAAAAdAAEAAgADAAIAAAAdAAIAAgADAAIAAAAdAAMAAgADAAIAAAAdAAQAAgADAAIAAAAdAAUAAgADAAMAAAAdAAYAAgADAAAAAAAeAAUAAgAAAAMAAAAeAAQAAgAAAAMAAAAeAAMAAgAAAAMAAAAeAAIAAgAAAAMAAAAfAAIAAgAAAAMAAAAfAAEAAgAAAAMAAAAfAAAAAgAAAAMAAAAgAAAAAgAAAAMAAAAgAP//AgAAAAMAAAAgAP7/AgAAAAMAAAAfAP//AgAAAAMAAAAfAAMAAgAAAAMAAAAfAAQAAgAAAAMAAAAgAAQAAgAAAAMAAAAgAAMAAgAAAAMAAAAgAAIAAgAAAAMAAAAgAAUAAgAAAAMAAAAfAAUAAgAAAAMAAAAfAAYAAgADAAAAAAAgAAcAAgACAAEAAAAgAAgAAgACAAEAAAAgAAkAAgABAAIAAAAgAAoAAgAAAAMAAAAgAAsAAgAAAAMAAAAgAAwAAgAAAAMAAAAfAAwAAgAAAAMAAAAfAA0AAgAAAAMAAAAgAA0AAgAAAAMAAAAgAA4AAgAAAAMAAAAfAA4AAgAAAAMAAAAeAA4AAgAAAAMAAAAdAA4AAgAAAAMAAAAcAA4AAgAAAAMAAAAbAA4AAgAAAAMAAAAaAA4AAgAAAAMAAAAaAA0AAgAAAAMAAAAaAAwAAgAAAAMAAAAbAAwAAgAAAAMAAAAbAAsAAgAAAAMAAAAcAAsAAgAAAAMAAAAdAAsAAgAAAAMAAAAdAAwAAgAAAAMAAAAcAAwAAgAAAAMAAAAcAAoAAgAAAAMAAAAdAAoAAgAAAAMAAAAdAAkAAgABAAIAAAAeAAkAAgABAAIAAAAfAAkAAgABAAIAAAAfAAgAAgACAAEAAAAfAAoAAgAAAAMAAAAfAAsAAgAAAAMAAAAeAAsAAgAAAAMAAAAeAAgAAgACAAEAAAAeAAcAAgACAAEAAAAeAAYAAgADAAAAAAAdAAcAAgACAAEAAAAcAAcAAgACAAEAAAAcAAgAAgACAAEAAAAbAAgAAgACAAEAAAAaAAgAAgACAAEAAAAZAAgAAgACAAEAAAAZAAkAAgABAAIAAAAaAAkAAgABAAIAAAAaAAoAAgAAAAMAAAAbAAoAAgAAAAMAAAAZAAUAAgACAAEAAAAZAAYAAgACAAEAAAAWAAEAAgACAAEAAAAXAAEAAgACAAEAAAAYAAEAAgACAAEAAAAZAAEAAgACAAEAAAAaAAEAAgACAAEAAAAbAAEAAgACAAEAAAAZAAAAAgACAAEAAAAZAAcAAgACAAEAAAAaAAcAAgACAAEAAAAbAAcAAgACAAEAAAAfAAcAAgACAAEAAAAhAAcAAgACAAEAAAAdAAgAAgACAAEAAAAhAAgAAgACAAEAAAD7/wMAAgACAAEAAAD7/wQAAgACAAEAAAD7//7/AgAAAAMAAAD7////AgAAAAMAAAD7/wAAAgABAAMAAAD7/wEAAgAAAAIAAAD7/wUAAgABAAIAAAD7/wYAAgAAAAMAAAD7/wcAAgAAAAMAAAD7/wgAAgAAAAMAAAD7/wkAAgAAAAMAAAD7/woAAgAAAAMAAAD7/wsAAgAAAAMAAAD7/wwAAgAAAAMAAAD7/w0AAgAAAAMAAAD7/w4AAgAAAAMAAAAhAP7/AgAAAAMAAAAhAP//AgAAAAMAAAAhAAAAAgAAAAMAAAAhAAEAAgAAAAMAAAAhAAIAAgAAAAMAAAAhAAMAAgAAAAMAAAAhAAQAAgAAAAMAAAAhAAUAAgAAAAMAAAAhAAkAAgABAAIAAAAhAAoAAgAAAAMAAAAhAAsAAgAAAAMAAAAhAAwAAgAAAAMAAAAhAA0AAgAAAAMAAAAhAA4AAgAAAAMAAAA=") tile_set = SubResource("TileSet_ge1l5") rendering_quadrant_size = 32 physics_quadrant_size = 32 +script = ExtResource("3_hrrfd") +godot_4_3_compatibility = false +metadata/_custom_type_script = "uid://cjk8nronimk5r" metadata/_edit_lock_ = true [node name="Objects" type="TileMapLayer" parent="."] @@ -220,6 +230,5 @@ tile_set = SubResource("TileSet_5rqdi") rendering_quadrant_size = 32 physics_quadrant_size = 32 -[node name="Player" parent="." node_paths=PackedStringArray("tilemap") instance=ExtResource("1_ge1l5")] +[node name="Player" parent="." instance=ExtResource("1_ge1l5")] position = Vector2(110, 38) -tilemap = NodePath("../Ground") diff --git a/scenes/player.tscn b/scenes/player.tscn index 68c1464..876a054 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,43 +1,47 @@ -[gd_scene load_steps=14 format=3 uid="uid://dfbomt0l6b1o4"] +[gd_scene load_steps=15 format=3 uid="uid://dfbomt0l6b1o4"] [ext_resource type="Script" uid="uid://dxvslwwnnlosy" path="res://scripts/player.gd" id="1_3vyb7"] [ext_resource type="Texture2D" uid="uid://c12v1hnrbfjr4" path="res://assets/textures/spritesheets/hood_player.png" id="2_g2els"] [sub_resource type="AtlasTexture" id="AtlasTexture_g2els"] atlas = ExtResource("2_g2els") -region = Rect2(0, 0, 33, 33) +region = Rect2(0, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"] atlas = ExtResource("2_g2els") -region = Rect2(34, 0, 33, 33) +region = Rect2(32, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_dqkch"] atlas = ExtResource("2_g2els") -region = Rect2(68, 0, 33, 33) +region = Rect2(64, 0, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_qlg0r"] atlas = ExtResource("2_g2els") -region = Rect2(0, 34, 33, 33) +region = Rect2(0, 32, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"] atlas = ExtResource("2_g2els") -region = Rect2(34, 34, 33, 33) +region = Rect2(32, 32, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"] atlas = ExtResource("2_g2els") -region = Rect2(68, 34, 33, 33) +region = Rect2(64, 32, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_smehm"] atlas = ExtResource("2_g2els") -region = Rect2(0, 68, 33, 33) +region = Rect2(0, 96, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"] atlas = ExtResource("2_g2els") -region = Rect2(34, 68, 33, 33) +region = Rect2(0, 64, 32, 32) [sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"] atlas = ExtResource("2_g2els") -region = Rect2(68, 68, 33, 33) +region = Rect2(32, 64, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"] +atlas = ExtResource("2_g2els") +region = Rect2(64, 64, 32, 32) [sub_resource type="SpriteFrames" id="SpriteFrames_qhqgy"] animations = [{ @@ -78,15 +82,23 @@ animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_smehm") +}], +"loop": true, +"name": &"sit", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ur7pv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y4r1p") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ur7pv") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_smehm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_y4r1p") +"texture": SubResource("AtlasTexture_d2wvv") }], "loop": true, "name": &"up", diff --git a/scripts/autoloads/nodes/event_manager.gd b/scripts/autoloads/nodes/event_manager.gd index 34d0ce4..0f77e4e 100644 --- a/scripts/autoloads/nodes/event_manager.gd +++ b/scripts/autoloads/nodes/event_manager.gd @@ -20,5 +20,6 @@ func run_event(event: Events, player_postion: Vector2 = Vector2.ZERO): match event: Events.PUMPKIN_CARVE: get_tree().change_scene_to_file("uid://ccfdsdgaon63m") # scenes/levels/home.tscn - pass + await get_tree().scene_changed + player.animated_sprite.animation = "sit" # should be replaced with chair interaction trigger transition_end() diff --git a/scripts/interactable.gd b/scripts/interactable.gd index 41cb896..cb66bf6 100644 --- a/scripts/interactable.gd +++ b/scripts/interactable.gd @@ -1,6 +1,6 @@ class_name Interactable extends Area2D -signal interacted +signal interacted(player: Player) -func interact() -> void: interacted.emit() +func interact(player: Player) -> void: interacted.emit(player) diff --git a/scripts/interactables/chair.gd b/scripts/interactables/chair.gd new file mode 100644 index 0000000..b1dd0b0 --- /dev/null +++ b/scripts/interactables/chair.gd @@ -0,0 +1,62 @@ +@tool +extends StaticBody2D + +enum Direction { LEFT, RIGHT, FRONT } + +@onready var sprite: Sprite2D = $Sprite2D +const SEAT_HEIGHT_OFFSET := 8 +var player: Player +var input_released: bool = true +var move_input: Vector2 = Vector2.ZERO + +@export var direction: Direction = Direction.RIGHT: + set(value): + direction = value + flip_chair() + +func _ready() -> void: + flip_chair() + +func flip_chair() -> void: + if !sprite: + return + var atlas_tex := sprite.texture as AtlasTexture + match direction: + Direction.LEFT: + atlas_tex.region.position.x = 32 + sprite.flip_h = true + Direction.RIGHT: + atlas_tex.region.position.x = 32 + sprite.flip_h = false + Direction.FRONT: + atlas_tex.region.position.x = -3 + sprite.flip_h = false + +func _on_interacted(p_player: Player) -> void: + if player: + unmount() + else: + player = p_player + input_released = move_input.length() == 0 + player.animated_sprite.animation = "sit" + player.animated_sprite.flip_h = direction == Direction.LEFT + player.position = Vector2(position.x, position.y - SEAT_HEIGHT_OFFSET) + + +func _process(_delta: float) -> void: + if player: + move_input = Input.get_vector("move_left","move_right","move_up","move_down") + if move_input.length() == 0: + input_released = true + elif input_released: + unmount() + + +func unmount() -> void: + if direction == Direction.FRONT: + player.position = Vector2(position.x -16, position.y) + else: + player.position = Vector2(position.x, position.y + 8) + player.animated_sprite.animation = "down" + player = null + input_released = true diff --git a/scripts/interactables/chair.gd.uid b/scripts/interactables/chair.gd.uid new file mode 100644 index 0000000..b493d45 --- /dev/null +++ b/scripts/interactables/chair.gd.uid @@ -0,0 +1 @@ +uid://c1xp6fm2mh83g diff --git a/scripts/interactables/interact_sceneswitch.gd b/scripts/interactables/interact_sceneswitch.gd index 02b7769..adfaeab 100644 --- a/scripts/interactables/interact_sceneswitch.gd +++ b/scripts/interactables/interact_sceneswitch.gd @@ -2,5 +2,5 @@ extends Node2D @export var scene: PackedScene -func _on_interactable_interacted() -> void: +func _on_interacted(_player: Player) -> void: get_tree().change_scene_to_packed(scene) diff --git a/scripts/player.gd b/scripts/player.gd index 87ce8d4..d355706 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -12,6 +12,7 @@ const RAYCAST_RAGE: int = 32 @export var tilemap: TileMapLayer var tilesize: int = 32 var position_limit_rect: Rect2 +const STILL_POSITIONS: Array[String] = ["sit", "hand_down", "hand_side", "hand_up"] func _ready() -> void: EventManager.player = self @@ -36,10 +37,10 @@ func _ready() -> void: func _process(_delta: float) -> void: if Input.is_action_just_pressed("interact") && raycast.is_colliding() && raycast.get_collider() is Interactable: var interactable: Interactable = raycast.get_collider() - interactable.interact() + interactable.interact(self) func _physics_process(delta: float) -> void: - if EventManager.player_free: + if !STILL_POSITIONS.has(animated_sprite.animation) && EventManager.player_free: var input := Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized() var raycast_input := Vector2.ZERO @@ -52,18 +53,18 @@ func _physics_process(delta: float) -> void: velocity = input * delta * SPEED * 3 - move_and_slide() - position = position.clamp(position_limit_rect.position, position_limit_rect.end) + move_and_slide() + position = position.clamp(position_limit_rect.position, position_limit_rect.end) - if velocity.length() != 0: - animated_sprite.play() - animated_sprite.flip_h = false - if abs(velocity.x) > abs(velocity.y): - animated_sprite.animation = "side" - animated_sprite.flip_h = velocity.x < 0 - elif velocity.y < 0: - animated_sprite.animation = "up" + if velocity.length() != 0: + animated_sprite.play() + animated_sprite.flip_h = false + if abs(velocity.x) > abs(velocity.y): + animated_sprite.animation = "side" + animated_sprite.flip_h = velocity.x < 0 + elif velocity.y < 0: + animated_sprite.animation = "up" + else: + animated_sprite.animation = "down" else: - animated_sprite.animation = "down" - else: - animated_sprite.stop() + animated_sprite.stop()