diff --git a/Scenes/Interactable/Chest.tscn b/Scenes/Interactable/Chest.tscn index 8ccf261b..166577d4 100644 --- a/Scenes/Interactable/Chest.tscn +++ b/Scenes/Interactable/Chest.tscn @@ -5,6 +5,9 @@ [ext_resource type="Script" path="res://Scripts/Pickupper.cs" id="3_qro6k"] [ext_resource type="Script" path="res://Scripts/Resources/LootItem.cs" id="4_rcd61"] +[sub_resource type="CircleShape2D" id="CircleShape2D_ihal6"] +radius = 16.0 + [sub_resource type="AtlasTexture" id="AtlasTexture_elja3"] atlas = ExtResource("2_w7a1a") region = Rect2(0, 0, 16, 16) @@ -70,9 +73,6 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="CircleShape2D" id="CircleShape2D_ihal6"] -radius = 16.0 - [sub_resource type="RectangleShape2D" id="RectangleShape2D_isrvb"] size = Vector2(12, 10) @@ -81,19 +81,19 @@ script = ExtResource("4_rcd61") Item = 3 Amount = 10 -[node name="Chest" type="Node2D"] +[node name="Chest" type="Area2D" node_paths=PackedStringArray("Target") groups=["Interactable"]] +collision_layer = 4 +collision_mask = 2 +script = ExtResource("1_4p5d3") +Target = NodePath("Pickupper") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_ihal6") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] sprite_frames = SubResource("SpriteFrames_cirgn") animation = &"Closed" -[node name="Interactable" type="Area2D" parent="." node_paths=PackedStringArray("Target") groups=["Interactable"]] -script = ExtResource("1_4p5d3") -Target = NodePath("../Pickupper") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Interactable"] -shape = SubResource("CircleShape2D_ihal6") - [node name="RigidBody2D" type="RigidBody2D" parent="."] collision_layer = 64 collision_mask = 10 diff --git a/Scenes/Selector.tscn b/Scenes/Selector.tscn index 41592cfd..0647ccde 100644 --- a/Scenes/Selector.tscn +++ b/Scenes/Selector.tscn @@ -1,8 +1,33 @@ -[gd_scene load_steps=2 format=3 uid="uid://chkpk7erlqajg"] +[gd_scene load_steps=5 format=3 uid="uid://chkpk7erlqajg"] -[ext_resource type="Texture2D" uid="uid://kgs1d0m47u3g" path="res://Sprites/selector.png" id="1_ui0xt"] +[ext_resource type="Texture2D" uid="uid://dde36pgb8fbwc" path="res://Sprites/selector_big.png" id="1_cc7mb"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_gc2o5"] +atlas = ExtResource("1_cc7mb") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_goaai"] +atlas = ExtResource("1_cc7mb") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_kehny"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_gc2o5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_goaai") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] [node name="Selector" type="Node2D"] -[node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource("1_ui0xt") +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +z_index = -5 +sprite_frames = SubResource("SpriteFrames_kehny") +frame = 1 +frame_progress = 0.18995 diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 40fa2fc9..57c30fca 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -377,6 +377,12 @@ position = Vector2(-1120, 128) [node name="HorizontalDoor2" parent="Factory Tilemaps" instance=ExtResource("12_i7i2m")] position = Vector2(-944, 160) +[node name="Chest" parent="Factory Tilemaps" instance=ExtResource("25_4b2ed")] +position = Vector2(-760, -169) + +[node name="ControlPad5" parent="Factory Tilemaps" instance=ExtResource("12_hfkf1")] +position = Vector2(-791, -137) + [node name="CameraController" type="Camera2D" parent="."] script = ExtResource("6_t8ide") pixel_snap = false @@ -432,6 +438,3 @@ script = ExtResource("24_0c2yt") [node name="PlayerStartPosition" type="Marker2D" parent="."] position = Vector2(-779, -160) - -[node name="Chest" parent="." instance=ExtResource("25_4b2ed")] -position = Vector2(-760, -169) diff --git a/Scripts/PlayerMovement.cs b/Scripts/PlayerMovement.cs index 10bb5c39..34bb992e 100644 --- a/Scripts/PlayerMovement.cs +++ b/Scripts/PlayerMovement.cs @@ -88,8 +88,8 @@ public partial class PlayerMovement : CharacterBody2D, IDestructible if (SelectorScene != null) { - _selector = this.CreateChild(SelectorScene); - _selector.Visible = false; + _selector = this.CreateSibling(SelectorScene, this.GlobalPosition); + _selector.Visible = true; } } @@ -257,7 +257,7 @@ public partial class PlayerMovement : CharacterBody2D, IDestructible // Replace with function body. if (area.IsInGroup("Interactable") && area is Interactable interactable) { - Debug.WriteLine("Interactable Entered"); + Debug.WriteLine($"Interactable {area.Name} Entered"); if (_selector != null) { @@ -268,6 +268,11 @@ public partial class PlayerMovement : CharacterBody2D, IDestructible } } + private void _on_interaction_controller_area_exited(Area2D area) + { + + } + private void Explode() { Debug.WriteLine("Ded"); diff --git a/Scripts/Tools.cs b/Scripts/Tools.cs index 1fb617b6..7749885d 100644 --- a/Scripts/Tools.cs +++ b/Scripts/Tools.cs @@ -26,7 +26,7 @@ public static class Tools public static T CreateSibling(this Node2D node, PackedScene prefab) where T : Node2D { - return CreateSibling(node, prefab, node.GlobalPosition); + return CreateChildOf(node, node.GetParent(), prefab, node.GlobalPosition); } public static T CreateSibling(this Node2D node, PackedScene prefab, Vector2 position) where T : Node2D diff --git a/Sprites/selector_big.aseprite b/Sprites/selector_big.aseprite new file mode 100644 index 00000000..4f4591f8 --- /dev/null +++ b/Sprites/selector_big.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:858f3e5736a11bbd111147837622ad131a28d3ad737c1f90fc76219bcf19228d +size 731 diff --git a/Sprites/selector_big.png b/Sprites/selector_big.png new file mode 100644 index 00000000..56950cb9 --- /dev/null +++ b/Sprites/selector_big.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb37fba03007595cfdbfd0bb343cd011a8cabeebe33c4192f1e71a46e03525f2 +size 264 diff --git a/Sprites/selector_big.png.import b/Sprites/selector_big.png.import new file mode 100644 index 00000000..edfe14a0 --- /dev/null +++ b/Sprites/selector_big.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dde36pgb8fbwc" +path="res://.godot/imported/selector_big.png-27577e86fb500a19a8e9ac34042c9f91.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/selector_big.png" +dest_files=["res://.godot/imported/selector_big.png-27577e86fb500a19a8e9ac34042c9f91.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