[gd_scene load_steps=17 format=3 uid="uid://o3ri154wpbrx"] [ext_resource type="PackedScene" uid="uid://btcmnw6q6g0h0" path="res://objects/pinned_photo.tscn" id="1_7cefc"] [ext_resource type="PackedScene" uid="uid://kk4ecpjc4puc" path="res://scenes/results_ui.tscn" id="1_thvsl"] [ext_resource type="PackedScene" uid="uid://qmb60kjx6yoe" path="res://objects/victim_file.tscn" id="2_vo7lu"] [ext_resource type="PackedScene" uid="uid://drcl138k0gym0" path="res://objects/witness_report.tscn" id="3_wjago"] [ext_resource type="PackedScene" uid="uid://cjyr1b0fxfofx" path="res://objects/case_file.tscn" id="4_cnvne"] [sub_resource type="GDScript" id="GDScript_thvsl"] script/source = "extends Node2D @export var conclusion_screen : PackedScene = null func notify_conclusion_sent(method : int, motive : int, murderer : int) -> void: var instance := conclusion_screen.instantiate() instance.set_conclusion(method, motive, murderer) get_parent().add_child(instance) self.queue_free() " [sub_resource type="QuadMesh" id="QuadMesh_usqe2"] [sub_resource type="Gradient" id="Gradient_usqe2"] offsets = PackedFloat32Array(1) colors = PackedColorArray(0.7490196, 0.7019608, 0.6431373, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_87mh6"] gradient = SubResource("Gradient_usqe2") [sub_resource type="RectangleShape2D" id="RectangleShape2D_87mh6"] size = Vector2(965, 533) [sub_resource type="QuadMesh" id="QuadMesh_cnvne"] [sub_resource type="CircleShape2D" id="CircleShape2D_cnvne"] radius = 7.280088 [sub_resource type="GDScript" id="GDScript_cnvne"] script/source = "extends Button func _ready() -> void: update_can_send() func _pressed() -> void: if ServerNode.get_singleton(): ServerNode.get_singleton().send_conclusion(%WeaponSlot.get_current_clue(), %MotiveSlot.get_current_clue(), %MurdererSlot.get_current_clue()) else: print(\"Conclusion: \", %WeaponSlot.get_current_clue(), \", \", %MotiveSlot.get_current_clue(), \", \", %MurdererSlot.get_current_clue()) owner.notify_conclusion_sent(%WeaponSlot.get_current_clue(), %MotiveSlot.get_current_clue(), %MurdererSlot.get_current_clue()) func update_can_send(): self.disabled = not (%WeaponSlot.is_filled() and %MotiveSlot.is_filled() and %MurdererSlot.is_filled()) func _on_any_slot_selection_changed(_new_value: int) -> void: update_can_send() " [sub_resource type="TextMesh" id="TextMesh_cnvne"] flip_faces = true text = "Method, Motive, Murderer" depth = 0.0 [sub_resource type="Gradient" id="Gradient_thvsl"] offsets = PackedFloat32Array(0) colors = PackedColorArray(0, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_c1nar"] gradient = SubResource("Gradient_thvsl") [node name="Workspace" type="Node2D"] script = SubResource("GDScript_thvsl") conclusion_screen = ExtResource("1_thvsl") [node name="Camera2D" type="Camera2D" parent="."] anchor_mode = 0 [node name="Pinboard" type="Pinboard" parent="."] position = Vector2(109, 19) [node name="MeshInstance2D" type="MeshInstance2D" parent="Pinboard"] position = Vector2(794.49994, 417) scale = Vector2(1535.0001, 818) mesh = SubResource("QuadMesh_usqe2") texture = SubResource("GradientTexture1D_87mh6") [node name="CollisionShape2D" type="CollisionShape2D" parent="Pinboard"] position = Vector2(636.5, 465.5) shape = SubResource("RectangleShape2D_87mh6") [node name="Handin" type="Node2D" parent="."] position = Vector2(1899.9999, -15) rotation = -0.042017065 [node name="MeshInstance2D" type="MeshInstance2D" parent="Handin"] position = Vector2(-276.4963, 370.27814) scale = Vector2(553.9857, 740.51447) mesh = SubResource("QuadMesh_cnvne") [node name="TextEdit" type="TextEdit" parent="Handin"] offset_left = -508.21082 offset_top = 553.0962 offset_right = -24.305176 offset_bottom = 714.85803 backspace_deletes_composite_character_enabled = true wrap_mode = 1 [node name="WeaponSlot" type="ConclusionField" parent="Handin"] unique_name_in_owner = true position = Vector2(-448.5945, 290.4132) [node name="CollisionShape2D" type="CollisionShape2D" parent="Handin/WeaponSlot"] position = Vector2(0, 43.237) shape = SubResource("CircleShape2D_cnvne") [node name="MotiveSlot" type="ConclusionField" parent="Handin"] unique_name_in_owner = true position = Vector2(-268.54337, 292.97845) [node name="CollisionShape2D" type="CollisionShape2D" parent="Handin/MotiveSlot"] position = Vector2(0, 43.237) shape = SubResource("CircleShape2D_cnvne") [node name="MurdererSlot" type="ConclusionField" parent="Handin"] unique_name_in_owner = true position = Vector2(-99.188446, 288.08786) [node name="CollisionShape2D" type="CollisionShape2D" parent="Handin/MurdererSlot"] position = Vector2(0, 43.237) shape = SubResource("CircleShape2D_cnvne") [node name="SubmitButton" type="Button" parent="Handin"] unique_name_in_owner = true offset_left = -307.37988 offset_top = 502.53214 offset_right = -230.37988 offset_bottom = 533.5321 text = "Submit" script = SubResource("GDScript_cnvne") [node name="MeshInstance2D2" type="MeshInstance2D" parent="Handin"] position = Vector2(-273.59598, 222.70421) rotation = 3.1415927 scale = Vector2(-236.09602, 249.81453) mesh = SubResource("TextMesh_cnvne") texture = SubResource("GradientTexture1D_c1nar") [node name="PhotosParent" type="Node2D" parent="."] [node name="PinnedPhoto" parent="PhotosParent" instance=ExtResource("1_7cefc")] position = Vector2(479, 904) clue = 0 [node name="PinnedPhoto2" parent="PhotosParent" instance=ExtResource("1_7cefc")] position = Vector2(785, 905) clue = 1 [node name="PinnedPhoto3" parent="PhotosParent" instance=ExtResource("1_7cefc")] position = Vector2(1080, 891) [node name="PhotoInbox" type="PhotoInbox" parent="PhotosParent"] position = Vector2(1717, 889) photo_scene = ExtResource("1_7cefc") [node name="VictimFile" parent="." node_paths=PackedStringArray("open_position") instance=ExtResource("2_vo7lu")] position = Vector2(12.000002, 0) rotation = 0.08145886 open_position = NodePath("../FilePositionTarget") [node name="WitnessReport" parent="." node_paths=PackedStringArray("open_position") instance=ExtResource("3_wjago")] position = Vector2(-20, 7.000004) rotation = -0.037705522 open_position = NodePath("../FilePositionTarget") [node name="CaseFile" parent="." node_paths=PackedStringArray("open_position") instance=ExtResource("4_cnvne")] position = Vector2(4.999998, 31) rotation = 0.013079915 open_position = NodePath("../FilePositionTarget") [node name="FilePositionTarget" type="Node2D" parent="."] position = Vector2(678.00006, 63.999996) rotation = -0.0034519732 [connection signal="selection_changed" from="Handin/WeaponSlot" to="Handin/SubmitButton" method="_on_any_slot_selection_changed"] [connection signal="selection_changed" from="Handin/MotiveSlot" to="Handin/SubmitButton" method="_on_any_slot_selection_changed"] [connection signal="selection_changed" from="Handin/MurdererSlot" to="Handin/SubmitButton" method="_on_any_slot_selection_changed"]