diff --git a/art/indoor/room export/Room_01_assets.png b/art/indoor/room export/Room_01_assets.png new file mode 100644 index 0000000..41f84bb Binary files /dev/null and b/art/indoor/room export/Room_01_assets.png differ diff --git a/art/indoor/room export/Room_01_assets.png.import b/art/indoor/room export/Room_01_assets.png.import new file mode 100644 index 0000000..4287e34 --- /dev/null +++ b/art/indoor/room export/Room_01_assets.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://x7trh4dgsvoe" +path="res://.godot/imported/Room_01_assets.png-a76e862e33a0509707d91703ef954a0e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/indoor/room export/Room_01_assets.png" +dest_files=["res://.godot/imported/Room_01_assets.png-a76e862e33a0509707d91703ef954a0e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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/scenes/IndoorTest2.tscn b/scenes/IndoorTest2.tscn index a485d21..e1d9559 100644 --- a/scenes/IndoorTest2.tscn +++ b/scenes/IndoorTest2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://bm21nqepnwaik"] +[gd_scene load_steps=20 format=3 uid="uid://bm21nqepnwaik"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/Player2D.tscn" id="2_a2ood"] [ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="3_a2ood"] @@ -7,35 +7,175 @@ [ext_resource type="Texture2D" uid="uid://bqwhptcgg5ons" path="res://art/indoor/room export/Room_01_dorr_R.png" id="5_8o6or"] [ext_resource type="Texture2D" uid="uid://dhvi5404cqioa" path="res://art/indoor/room export/Room_01_window.png" id="6_j5d18"] [ext_resource type="Texture2D" uid="uid://404glx32r1w8" path="res://art/indoor/room export/Room_01_bench.png" id="7_ciwvv"] +[ext_resource type="Texture2D" uid="uid://cop1vjvhwlsec" path="res://art/indoor/room export/Room_01_shelf.png" id="8_8o6or"] [ext_resource type="Texture2D" uid="uid://vyk63d0pgqm5" path="res://art/indoor/room export/Room_01_dioor L.png" id="8_wuntg"] [ext_resource type="Texture2D" uid="uid://b2rj7wkyu6ehy" path="res://art/indoor/room export/Room_01_pechka.png" id="9_aivb2"] [ext_resource type="Texture2D" uid="uid://bpi35nxbhput8" path="res://art/indoor/room export/Room_01_pechkaDoor.png" id="10_835kg"] [ext_resource type="Texture2D" uid="uid://tyypifpte0pb" path="res://art/indoor/room export/Room_01_chugun.png" id="11_atjbs"] +[ext_resource type="Texture2D" uid="uid://x7trh4dgsvoe" path="res://art/indoor/room export/Room_01_assets.png" id="13_j5d18"] +[ext_resource type="Script" uid="uid://cqkqijsjvbasl" path="res://scripts/spiritAnimation.cs" id="14_ciwvv"] +[ext_resource type="Texture2D" uid="uid://ckvytnpi8gcxq" path="res://art/eyes_atlas.png" id="14_j5d18"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"] resource_local_to_scene = true size = Vector2(7680, 1336) +[sub_resource type="Animation" id="Animation_j5d18"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Room assets/hand:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("BackWall/Room01PechkaDoor:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-710, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = false +tracks/2/path = NodePath("Room assets/eyes:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_8o6or"] +resource_name = "hand_stretch" +length = 4.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Room assets/hand:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.133333, 3), +"transitions": PackedFloat32Array(0.406126, 2.46229), +"update": 0, +"values": [Vector2(0, 0), Vector2(1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("BackWall/Room01PechkaDoor:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(-0.0333333, 2.96667), +"transitions": PackedFloat32Array(0.101532, 1), +"update": 0, +"values": [Vector2(-710, 0), Vector2(-760, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Room assets/eyes:visible") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(2.26667, 3.7, 3.9), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_ciwvv"] +_data = { +&"RESET": SubResource("Animation_j5d18"), +&"hand_stretch": SubResource("Animation_8o6or") +} + [node name="IndoorTest" type="Node2D"] y_sort_enabled = true -[node name="background" type="Sprite2D" parent="."] +[node name="BackWall" type="Node" parent="."] + +[node name="Room01Walls2" type="Sprite2D" parent="BackWall"] +z_index = -100 +position = Vector2(-1072, -264) +texture = ExtResource("3_a2ood") +offset = Vector2(-2768, 264) + +[node name="wall 1" type="Sprite2D" parent="BackWall"] +z_index = -100 texture = ExtResource("3_a2ood") flip_h = true region_rect = Rect2(111, 292, 3323, 2160) -[node name="StaticBody2D" type="StaticBody2D" parent="background"] +[node name="StaticBody2D" type="StaticBody2D" parent="BackWall/wall 1"] -[node name="CollisionShape2D" type="CollisionShape2D" parent="background/StaticBody2D"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="BackWall/wall 1/StaticBody2D"] position = Vector2(-1912, -396) shape = SubResource("RectangleShape2D_a2ood") +[node name="Room01DorrR" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-744, 16) +texture = ExtResource("5_8o6or") + +[node name="Room01DioorL" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-3288, 8) +texture = ExtResource("8_wuntg") + +[node name="Room01Pechka" type="Sprite2D" parent="BackWall"] +z_index = -80 +position = Vector2(-752, 0) +texture = ExtResource("9_aivb2") + +[node name="Room01Window2" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-2952, 16) +texture = ExtResource("6_j5d18") + +[node name="Room01Window3" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-944, -8) +texture = ExtResource("6_j5d18") + +[node name="Room01PechkaDoor" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-710, 0) +texture = ExtResource("10_835kg") + +[node name="Room01Chugun" type="Sprite2D" parent="BackWall"] +z_index = -40 +position = Vector2(-736, 8) +texture = ExtResource("11_atjbs") + +[node name="Room01Shelf" type="Sprite2D" parent="BackWall"] +z_index = -50 +position = Vector2(-832, 56) +texture = ExtResource("8_8o6or") + [node name="Player2d" parent="." instance=ExtResource("2_a2ood")] -position = Vector2(-3312, 112) +position = Vector2(-1464, 136) -[node name="Room01Walls2" type="Sprite2D" parent="."] -position = Vector2(-3840, 0) -texture = ExtResource("3_a2ood") +[node name="CharacterBody2D" parent="Player2d" index="0"] +_speed = 500.0 + +[node name="Animated Sprites" parent="Player2d/CharacterBody2D/visuals" index="0"] +z_index = 50 [node name="Room01Table" type="Sprite2D" parent="."] y_sort_enabled = true @@ -53,43 +193,133 @@ position = Vector2(-1304, 1080) texture = ExtResource("4_hjjhl") offset = Vector2(184, -1056) -[node name="Room01DorrR" type="Sprite2D" parent="."] -position = Vector2(-216, 8) -texture = ExtResource("5_8o6or") - -[node name="Room01Window4" type="Sprite2D" parent="."] -position = Vector2(-352, 8) -texture = ExtResource("6_j5d18") - [node name="Room01Bench" type="Sprite2D" parent="."] position = Vector2(-3280, 24) texture = ExtResource("7_ciwvv") +flip_h = true -[node name="Room01DioorL" type="Sprite2D" parent="."] -position = Vector2(-3400, 8) -texture = ExtResource("8_wuntg") +[node name="Room01Bench2" type="Sprite2D" parent="."] +position = Vector2(-784, 40) +texture = ExtResource("7_ciwvv") -[node name="Room01Pechka" type="Sprite2D" parent="."] -position = Vector2(-752, 0) -texture = ExtResource("9_aivb2") +[node name="Room assets" type="Node" parent="."] -[node name="Room01PechkaDoor" type="Sprite2D" parent="."] -position = Vector2(-704, 0) -texture = ExtResource("10_835kg") +[node name="Samowar" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(-2000, 696) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2085, 40, 446, 654) -[node name="Room01Chugun" type="Sprite2D" parent="."] -position = Vector2(-736, 8) -texture = ExtResource("11_atjbs") +[node name="wood" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(-176, 560) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2244, 763, 274, 91) -[node name="Room01Window2" type="Sprite2D" parent="."] -position = Vector2(-2952, 16) -texture = ExtResource("6_j5d18") +[node name="Domovoi" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(336, 480) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(3157, 688, 131, 221) -[node name="Room01Window3" type="Sprite2D" parent="."] -position = Vector2(-1720, 16) -texture = ExtResource("6_j5d18") +[node name="vase" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(-712, 72) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2748, 432, 174, 191) -[node name="Room01Bench2" type="Sprite2D" parent="."] -position = Vector2(-1160, 40) -texture = ExtResource("7_ciwvv") -flip_h = true +[node name="candle" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(-272, -56) +rotation = -0.0663225 +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2624, 435, 49, 76) + +[node name="hand" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(48.5969, 11.68) +rotation = -0.0663225 +scale = Vector2(1e-05, 1e-05) +texture = ExtResource("13_j5d18") +offset = Vector2(43.3898, 128.128) +region_enabled = true +region_rect = Rect2(3362, 139, 101, 269) + +[node name="SpiritAnimation" type="AnimationPlayer" parent="Room assets/hand" node_paths=PackedStringArray("_player", "_offerings")] +active = false +root_node = NodePath("../../..") +libraries = { +&"": SubResource("AnimationLibrary_ciwvv") +} +playback_auto_capture = false +script = ExtResource("14_ciwvv") +_player = NodePath("../../../Player2d/CharacterBody2D") +_offerings = NodePath("../../offerings") + +[node name="herbsline" type="Sprite2D" parent="Room assets"] +y_sort_enabled = true +position = Vector2(440, -168) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2964, 137, 321, 213) + +[node name="herb 1" type="Sprite2D" parent="Room assets/herbsline"] +y_sort_enabled = true +position = Vector2(-72, 136) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2600, 165, 127, 199) + +[node name="herb 2" type="Sprite2D" parent="Room assets/herbsline"] +y_sort_enabled = true +position = Vector2(64, 80) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2761, 161, 135, 199) + +[node name="eyes" type="Sprite2D" parent="Room assets"] +visible = false +position = Vector2(32, -72) +scale = Vector2(0.4, 0.4) +texture = ExtResource("14_j5d18") +region_enabled = true +region_rect = Rect2(2647, 15, 286, 183) + +[node name="offerings" type="Node2D" parent="Room assets"] +visible = false + +[node name="apple" type="Sprite2D" parent="Room assets/offerings"] +position = Vector2(229.5, 331.5) +texture = ExtResource("13_j5d18") +region_enabled = true +region_rect = Rect2(2822, 764, 93, 87) + +[node name="bread" type="Sprite2D" parent="Room assets/offerings"] +z_index = -1 +position = Vector2(157.5, 339.5) +texture = ExtResource("13_j5d18") +region_enabled = true +region_rect = Rect2(2951, 783, 155, 78) + +[node name="plate" type="Sprite2D" parent="Room assets/offerings"] +z_index = -20 +position = Vector2(189.5, 659.5) +texture = ExtResource("13_j5d18") +offset = Vector2(0, -296) +region_enabled = true +region_rect = Rect2(2576, 802, 219, 64) + +[editable path="Player2d"] diff --git a/scripts/spiritAnimation.cs b/scripts/spiritAnimation.cs new file mode 100644 index 0000000..667e0ce --- /dev/null +++ b/scripts/spiritAnimation.cs @@ -0,0 +1,30 @@ +using Babushka.scripts.CSharp.Common.CharacterControls; +using Godot; + +namespace Babushka.scripts; + +public partial class spiritAnimation : AnimationPlayer +{ + [Export] private Player2D _player; + [Export] private Node2D _offerings; + + public override void _UnhandledInput(InputEvent @event) + { + if (@event is InputEventKey eventKey) + { + if (eventKey.Pressed && eventKey.Keycode == Key.Alt) + { + _player.PlayPickUpAnimation(); + _offerings.Visible = true; + } + + if (eventKey.Pressed && eventKey.Keycode == Key.Space) + { + Active = true; + Play("hand_stretch"); + } + } + + + } +} \ No newline at end of file diff --git a/scripts/spiritAnimation.cs.uid b/scripts/spiritAnimation.cs.uid new file mode 100644 index 0000000..54065eb --- /dev/null +++ b/scripts/spiritAnimation.cs.uid @@ -0,0 +1 @@ +uid://cqkqijsjvbasl