diff --git a/main.tscn b/main.tscn index eabf0dd..2ee92cc 100644 --- a/main.tscn +++ b/main.tscn @@ -1,12 +1,13 @@ -[gd_scene load_steps=35 format=3 uid="uid://w3ntt1yh1nq7"] +[gd_scene load_steps=36 format=3 uid="uid://w3ntt1yh1nq7"] [ext_resource type="Script" uid="uid://lnmooufxbuym" path="res://main.gd" id="1_dp5o4"] [ext_resource type="PackedScene" uid="uid://3oqyqft8w72m" path="res://selectable.tscn" id="3_g5hfc"] [ext_resource type="Script" uid="uid://c3dlxuhruho8c" path="res://operation/feedback_canvas_modulate.gd" id="4_0odxb"] [ext_resource type="Texture2D" uid="uid://bicjfwpoa3pma" path="res://operation/test_table.png" id="5_lswn8"] +[ext_resource type="PackedScene" uid="uid://bgp8l04mw4ddh" path="res://suitcase.tscn" id="12_dg77c"] [ext_resource type="Texture2D" uid="uid://ccy71gl4qatjy" path="res://operation/pliers.png" id="17_b1qrp"] [ext_resource type="Script" uid="uid://crkr8emyhv1fo" path="res://operation/pliers.gd" id="18_come4"] -[ext_resource type="PackedScene" uid="uid://c3of67m4ic212" path="res://operation/pickup_area.tscn" id="19_h8e4i"] +[ext_resource type="PackedScene" uid="uid://c3of67m4ic212" path="res://pickup_area.tscn" id="19_h8e4i"] [ext_resource type="Texture2D" uid="uid://cg3dg7iqif56d" path="res://operation/test_scalpel.png" id="20_4lmeg"] [ext_resource type="Script" uid="uid://cqnproj5khm5a" path="res://operation/test_scalpel.gd" id="21_0cp0l"] [ext_resource type="Shape2D" uid="uid://bo77ihhtxfueg" path="res://operation/scalpel_pickup_area_collision_shape.tres" id="22_d2t1y"] @@ -322,6 +323,8 @@ offset_bottom = 39.8333 rotation = -1.49051 text = "Map" +[node name="Suitcase" parent="." instance=ExtResource("12_dg77c")] + [connection signal="clicked" from="Room/Bob/Selectable" to="." method="_on_bob_clicked"] [connection signal="clicked" from="Room/RitualPlace/Selectable" to="." method="_on_ritual_place_clicked"] [connection signal="input_event" from="Shelves/Pliers/GrabArea" to="Shelves/Pliers" method="_on_grab_area_input_event"] diff --git a/operation/pickup_area.gd b/pickup_area.gd similarity index 100% rename from operation/pickup_area.gd rename to pickup_area.gd diff --git a/operation/pickup_area.gd.uid b/pickup_area.gd.uid similarity index 100% rename from operation/pickup_area.gd.uid rename to pickup_area.gd.uid diff --git a/operation/pickup_area.tscn b/pickup_area.tscn similarity index 91% rename from operation/pickup_area.tscn rename to pickup_area.tscn index 9c958f0..b96a623 100644 --- a/operation/pickup_area.tscn +++ b/pickup_area.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://c3of67m4ic212"] -[ext_resource type="Script" uid="uid://demo2viwvnjcx" path="res://operation/pickup_area.gd" id="1_6qsiy"] +[ext_resource type="Script" uid="uid://demo2viwvnjcx" path="res://pickup_area.gd" id="1_6qsiy"] [node name="PickupArea" type="Area2D"] collision_layer = 2 diff --git a/suitcase.gd b/suitcase.gd new file mode 100644 index 0000000..a84dfd5 --- /dev/null +++ b/suitcase.gd @@ -0,0 +1,29 @@ +@tool +extends Node2D + + +@export var is_open = false: + set(new_value): + is_open = new_value + _update_suitcase() + + +func _ready(): + _update_suitcase() + +func _update_suitcase(): + if is_open: + $SuitcaseOpen.show() + $SuitcaseClosed.hide() + else: + $SuitcaseOpen.hide() + $SuitcaseClosed.show() + $SuitcaseOpen/Area2D.input_pickable = is_open + if Engine.is_editor_hint(): + $SuitcaseOpen.queue_redraw() + $SuitcaseClosed.queue_redraw() + + +func _on_area_2d_input_event(viewport, event, shape_idx): + + pass # Replace with function body. diff --git a/suitcase.gd.uid b/suitcase.gd.uid new file mode 100644 index 0000000..2932077 --- /dev/null +++ b/suitcase.gd.uid @@ -0,0 +1 @@ +uid://nrefd2i0qqrf diff --git a/suitcase.tscn b/suitcase.tscn new file mode 100644 index 0000000..4645a95 --- /dev/null +++ b/suitcase.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=5 format=3 uid="uid://bgp8l04mw4ddh"] + +[ext_resource type="Script" uid="uid://nrefd2i0qqrf" path="res://suitcase.gd" id="1_kguwf"] +[ext_resource type="Texture2D" uid="uid://cterukanhrwfv" path="res://suitcase_closed.png" id="1_q74i1"] +[ext_resource type="Texture2D" uid="uid://yrcdv8en42cl" path="res://suitcase_open.png" id="2_kguwf"] +[ext_resource type="PackedScene" uid="uid://c3of67m4ic212" path="res://pickup_area.tscn" id="4_kmisx"] + +[node name="Suitcase" type="Node2D"] +script = ExtResource("1_kguwf") +is_open = true + +[node name="SuitcaseClosed" type="Sprite2D" parent="."] +visible = false +texture = ExtResource("1_q74i1") + +[node name="SuitcaseOpen" type="Sprite2D" parent="."] +texture = ExtResource("2_kguwf") + +[node name="PickupArea" parent="SuitcaseOpen" instance=ExtResource("4_kmisx")] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="SuitcaseOpen/PickupArea"] +polygon = PackedVector2Array(-93, -5, 20, -7, 107, -11, 116, 0, 118, 16, 139, 86, 138, 115, 125, 122, 99, 126, 92, 129, 51, 131, -68, 132, -78, 130, -102, 130, -121, 116, -121, 91, -105, 47) diff --git a/suitcase_closed.png b/suitcase_closed.png new file mode 100644 index 0000000..17dc39e Binary files /dev/null and b/suitcase_closed.png differ diff --git a/suitcase_closed.png.import b/suitcase_closed.png.import new file mode 100644 index 0000000..b38e9ed --- /dev/null +++ b/suitcase_closed.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cterukanhrwfv" +path="res://.godot/imported/suitcase_closed.png-a0150d65ae36bbc86b136d62c48b6fe0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://suitcase_closed.png" +dest_files=["res://.godot/imported/suitcase_closed.png-a0150d65ae36bbc86b136d62c48b6fe0.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/suitcase_open.png b/suitcase_open.png new file mode 100644 index 0000000..de45084 Binary files /dev/null and b/suitcase_open.png differ diff --git a/suitcase_open.png.import b/suitcase_open.png.import new file mode 100644 index 0000000..4c441c7 --- /dev/null +++ b/suitcase_open.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yrcdv8en42cl" +path="res://.godot/imported/suitcase_open.png-3e6547c8f880ff4c593a504fd95cf87d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://suitcase_open.png" +dest_files=["res://.godot/imported/suitcase_open.png-3e6547c8f880ff4c593a504fd95cf87d.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