feat: added case, victim and witness UI elements

This commit is contained in:
Sara Gerretsen 2025-10-31 15:33:59 +01:00
parent 05a06b455a
commit dda31f9b60
6 changed files with 234 additions and 68 deletions

View file

@ -0,0 +1,60 @@
[gd_scene load_steps=7 format=3 uid="uid://cjyr1b0fxfofx"]
[sub_resource type="QuadMesh" id="QuadMesh_7cefc"]
[sub_resource type="GDScript" id="GDScript_7cefc"]
script/source = "extends Area2D
func _on_input_event(viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if event is InputEventMouseButton:
if not $\"..\".is_open():
$\"..\".request_open()
else:
$\"..\".request_close()
viewport.set_input_as_handled()
"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vo7lu"]
size = Vector2(52.031464, 209.99301)
[sub_resource type="TextMesh" id="TextMesh_mes51"]
flip_faces = true
text = "Case"
depth = 0.0
[sub_resource type="Gradient" id="Gradient_vo7lu"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_wjago"]
gradient = SubResource("Gradient_vo7lu")
[node name="CaseFile" type="FilePopup"]
[node name="MeshInstance2D2" type="MeshInstance2D" parent="."]
position = Vector2(21.5, 584.3357)
scale = Vector2(77, 222.67134)
mesh = SubResource("QuadMesh_7cefc")
[node name="MeshInstance2D" type="MeshInstance2D" parent="."]
position = Vector2(-333.25, 486.25)
scale = Vector2(667.5, 973.5)
mesh = SubResource("QuadMesh_7cefc")
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(28.170658, 585.06274)
script = SubResource("GDScript_7cefc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
scale = Vector2(1.0000002, 1.0000002)
shape = SubResource("RectangleShape2D_vo7lu")
[node name="MeshInstance2D3" type="MeshInstance2D" parent="."]
position = Vector2(30.888136, 582.9807)
rotation = 1.5707964
scale = Vector2(-347.0554, 307.87436)
mesh = SubResource("TextMesh_mes51")
texture = SubResource("GradientTexture1D_wjago")
[connection signal="input_event" from="Area2D" to="Area2D" method="_on_input_event"]

View file

@ -0,0 +1,60 @@
[gd_scene load_steps=7 format=3 uid="uid://qmb60kjx6yoe"]
[sub_resource type="QuadMesh" id="QuadMesh_7cefc"]
[sub_resource type="GDScript" id="GDScript_7cefc"]
script/source = "extends Area2D
func _on_input_event(viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if event is InputEventMouseButton:
if not $\"..\".is_open():
$\"..\".request_open()
else:
$\"..\".request_close()
viewport.set_input_as_handled()
"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vo7lu"]
size = Vector2(52.031464, 209.99301)
[sub_resource type="TextMesh" id="TextMesh_7cefc"]
flip_faces = true
text = "Victim"
depth = 0.0
[sub_resource type="Gradient" id="Gradient_vo7lu"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_wjago"]
gradient = SubResource("Gradient_vo7lu")
[node name="VictimFile" type="FilePopup"]
[node name="MeshInstance2D2" type="MeshInstance2D" parent="."]
position = Vector2(22.500002, 142.6643)
scale = Vector2(77, 222.67134)
mesh = SubResource("QuadMesh_7cefc")
[node name="MeshInstance2D" type="MeshInstance2D" parent="."]
position = Vector2(-333.25, 486.25)
scale = Vector2(667.5, 973.5)
mesh = SubResource("QuadMesh_7cefc")
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(29.17066, 143.39133)
script = SubResource("GDScript_7cefc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
scale = Vector2(1.0000002, 1.0000002)
shape = SubResource("RectangleShape2D_vo7lu")
[node name="MeshInstance2D3" type="MeshInstance2D" parent="."]
position = Vector2(33.037315, 137.30455)
rotation = 1.5707964
scale = Vector2(-347.0554, 307.87436)
mesh = SubResource("TextMesh_7cefc")
texture = SubResource("GradientTexture1D_wjago")
[connection signal="input_event" from="Area2D" to="Area2D" method="_on_input_event"]

View file

@ -0,0 +1,61 @@
[gd_scene load_steps=7 format=3 uid="uid://drcl138k0gym0"]
[sub_resource type="QuadMesh" id="QuadMesh_7cefc"]
[sub_resource type="GDScript" id="GDScript_7cefc"]
script/source = "extends Area2D
func _on_input_event(viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if event is InputEventMouseButton:
if not $\"..\".is_open():
$\"..\".request_open()
else:
$\"..\".request_close()
viewport.set_input_as_handled()
"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vo7lu"]
size = Vector2(52.031464, 209.99301)
[sub_resource type="TextMesh" id="TextMesh_vo7lu"]
flip_faces = true
text = "Witness"
depth = 0.0
[sub_resource type="Gradient" id="Gradient_vo7lu"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_wjago"]
gradient = SubResource("Gradient_vo7lu")
[node name="WitnessReport" type="FilePopup" node_paths=PackedStringArray("open_position")]
open_position = NodePath("")
[node name="MeshInstance2D2" type="MeshInstance2D" parent="."]
position = Vector2(21.59444, 373.7876)
scale = Vector2(77, 222.67134)
mesh = SubResource("QuadMesh_7cefc")
[node name="MeshInstance2D" type="MeshInstance2D" parent="."]
position = Vector2(-333.25, 486.25)
scale = Vector2(667.5, 973.5)
mesh = SubResource("QuadMesh_7cefc")
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(28.265099, 374.51465)
script = SubResource("GDScript_7cefc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
scale = Vector2(1.0000002, 1.0000002)
shape = SubResource("RectangleShape2D_vo7lu")
[node name="MeshInstance2D3" type="MeshInstance2D" parent="."]
position = Vector2(30.982576, 372.43265)
rotation = 1.5707964
scale = Vector2(-347.0554, 307.87436)
mesh = SubResource("TextMesh_vo7lu")
texture = SubResource("GradientTexture1D_wjago")
[connection signal="input_event" from="Area2D" to="Area2D" method="_on_input_event"]

View file

@ -20,3 +20,7 @@ config/icon="res://icon.svg"
window/size/viewport_width=1920
window/size/viewport_height=1080
window/stretch/mode="canvas_items"
[rendering]
anti_aliasing/quality/msaa_2d=1

View file

@ -1,6 +1,9 @@
[gd_scene load_steps=13 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://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="QuadMesh" id="QuadMesh_usqe2"]
@ -12,40 +15,16 @@ colors = PackedColorArray(0.7490196, 0.7019608, 0.6431373, 1)
gradient = SubResource("Gradient_usqe2")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_87mh6"]
size = Vector2(1074, 533)
size = Vector2(965, 533)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7cefc"]
size = Vector2(295, 346)
size = Vector2(400, 64)
[sub_resource type="QuadMesh" id="QuadMesh_7cefc"]
[sub_resource type="QuadMesh" id="QuadMesh_cnvne"]
[sub_resource type="GDScript" id="GDScript_7cefc"]
script/source = "extends Area2D
[sub_resource type="QuadMesh" id="QuadMesh_thvsl"]
func _on_input_event(viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if event is InputEventMouseButton:
if not $\"..\".is_open():
$\"..\".request_open()
else:
$\"..\".request_close()
viewport.set_input_as_handled()
"
[sub_resource type="RectangleShape2D" id="RectangleShape2D_vo7lu"]
size = Vector2(52.031464, 209.99301)
[sub_resource type="TextMesh" id="TextMesh_7cefc"]
flip_faces = true
text = "Victim"
depth = 0.0
[sub_resource type="Gradient" id="Gradient_vo7lu"]
offsets = PackedFloat32Array(1)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_wjago"]
gradient = SubResource("Gradient_vo7lu")
[sub_resource type="ImageTexture" id="ImageTexture_cnvne"]
[node name="FlatscreenRoot" type="Node2D"]
@ -62,58 +41,60 @@ mesh = SubResource("QuadMesh_usqe2")
texture = SubResource("GradientTexture1D_87mh6")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Pinboard"]
position = Vector2(691, 465.5)
position = Vector2(636.5, 465.5)
shape = SubResource("RectangleShape2D_87mh6")
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Pinboard"]
position = Vector2(1392.5, 560)
position = Vector2(1340, 701)
shape = SubResource("RectangleShape2D_7cefc")
[node name="PinnedPhoto" parent="." instance=ExtResource("1_7cefc")]
[node name="PhotosParent" type="Node2D" parent="."]
[node name="PinnedPhoto" parent="PhotosParent" instance=ExtResource("1_7cefc")]
position = Vector2(479, 904)
[node name="PhotoInbox" type="PhotoInbox" parent="."]
position = Vector2(1767, 890)
[node name="PhotoInbox" type="PhotoInbox" parent="PhotosParent"]
position = Vector2(1679, 900)
photo_scene = ExtResource("1_7cefc")
[node name="TextEdit" type="TextEdit" parent="."]
offset_left = 1604.0
offset_top = 181.0
offset_right = 1822.0
offset_bottom = 346.0
[node name="FilePopup" type="FilePopup" parent="." node_paths=PackedStringArray("open_position")]
[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="MeshInstance2D2" type="MeshInstance2D" parent="FilePopup"]
position = Vector2(22.500002, 142.6643)
scale = Vector2(77, 222.67134)
mesh = SubResource("QuadMesh_7cefc")
[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="MeshInstance2D" type="MeshInstance2D" parent="FilePopup"]
position = Vector2(-333.25, 486.25)
scale = Vector2(667.5, 973.5)
mesh = SubResource("QuadMesh_7cefc")
[node name="Area2D" type="Area2D" parent="FilePopup"]
position = Vector2(29.17066, 143.39133)
script = SubResource("GDScript_7cefc")
[node name="CollisionShape2D" type="CollisionShape2D" parent="FilePopup/Area2D"]
scale = Vector2(1.0000002, 1.0000002)
shape = SubResource("RectangleShape2D_vo7lu")
[node name="MeshInstance2D3" type="MeshInstance2D" parent="FilePopup"]
position = Vector2(33.037315, 137.30455)
rotation = 1.5707964
scale = Vector2(-347.0554, 307.87436)
mesh = SubResource("TextMesh_7cefc")
texture = SubResource("GradientTexture1D_wjago")
[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(593, 40.000004)
rotation = 0.24976808
position = Vector2(678.00006, 63.999996)
rotation = -0.0034519732
[connection signal="input_event" from="FilePopup/Area2D" to="FilePopup/Area2D" method="_on_input_event"]
[node name="Handin" type="Node2D" parent="."]
position = Vector2(1544.9998, 15)
rotation = -0.042017065
[node name="MeshInstance2D" type="MeshInstance2D" parent="Handin"]
position = Vector2(169.87817, 238.88794)
scale = Vector2(390.23935, 519.97754)
mesh = SubResource("QuadMesh_cnvne")
[node name="TextEdit" type="TextEdit" parent="Handin"]
offset_left = 3.0
offset_top = 344.75198
offset_right = 342.7721
offset_bottom = 485.0
backspace_deletes_composite_character_enabled = true
wrap_mode = 1
[node name="MeshInstance2D2" type="MeshInstance2D" parent="Handin"]
position = Vector2(296.84607, 57.51972)
scale = Vector2(97.55189, 112.9032)
mesh = SubResource("QuadMesh_thvsl")
texture = SubResource("ImageTexture_cnvne")

View file

@ -24,5 +24,5 @@ private:
bool desire_open{ false };
Transform2D home_position{};
Node2D *open_position{ nullptr };
double const ANIM_SPEED{ 3.0 };
double const ANIM_SPEED{ 5.0 };
};