reactions

This commit is contained in:
Rendo 2025-12-05 10:03:45 +05:00
commit 5e20eeb8bf
74 changed files with 891 additions and 19 deletions

14
scenes/drag_and_drop.tscn Normal file
View file

@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=3 uid="uid://vhn8h4mhb6nh"]
[ext_resource type="Script" uid="uid://ds5u02jdtxyd4" path="res://src/ui/drag_and_drop.gd" id="1_33df7"]
[node name="DragAndDrop" type="Button"]
anchors_preset = -1
anchor_right = 0.043
anchor_bottom = 0.07700001
offset_right = 0.4639969
offset_bottom = 0.10399628
mouse_filter = 1
script = ExtResource("1_33df7")
[connection signal="button_down" from="." to="." method="_on_button_down"]

View file

@ -4,7 +4,6 @@
[ext_resource type="Script" uid="uid://ctu7escah5lo1" path="res://src/interactible/interaction_source.gd" id="2_627mb"]
[ext_resource type="PackedScene" uid="uid://b6ydpkle2ol20" path="res://assets/models/FlaskNew.glb" id="2_qf1og"]
[ext_resource type="Script" uid="uid://e8xu57ewvb5a" path="res://src/interactible/proximity_rotator.gd" id="3_00eeh"]
[ext_resource type="Script" uid="uid://b1gv6dt8bwj2p" path="res://src/interactible/returner.gd" id="5_bqclg"]
[ext_resource type="Script" uid="uid://dteb2xxl8gixp" path="res://src/ui/slider_display.gd" id="5_qb0nw"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_vcwhe"]
@ -14,7 +13,11 @@ height = 0.9921875
[sub_resource type="SphereShape3D" id="SphereShape3D_vcwhe"]
radius = 0.49649125
[node name="DraggableObject" type="Area3D"]
[sub_resource type="Curve" id="Curve_qb0nw"]
_data = [Vector2(0, 0), 0.0, 0.067761436, 0, 0, Vector2(0.75, 1), 0.0, 0.0, 0, 0]
point_count = 2
[node name="Flask" type="Area3D"]
script = ExtResource("1_vcwhe")
[node name="DragArea" type="CollisionShape3D" parent="."]
@ -36,11 +39,8 @@ shape = SubResource("SphereShape3D_vcwhe")
[node name="ProximityRotator" type="Node" parent="." node_paths=PackedStringArray("rotated")]
script = ExtResource("3_00eeh")
rotated = NodePath("..")
proximity_radius = 0.746
[node name="Returner" type="Node" parent="." node_paths=PackedStringArray("node")]
script = ExtResource("5_bqclg")
node = NodePath("..")
proximity_radius = 0.1
modification_curve = SubResource("Curve_qb0nw")
[node name="InteractionDialog" type="ConfirmationDialog" parent="."]
oversampling_override = 1.0
@ -72,6 +72,5 @@ layout_mode = 2
size_flags_horizontal = 3
[connection signal="drag_ended" from="." to="InteractionArea" method="request_interaction"]
[connection signal="interaction_closed" from="InteractionArea" to="Returner" method="return_to_start"]
[connection signal="interaction_reciever_entered" from="InteractionArea" to="ProximityRotator" method="_on_interaction_area_interaction_reciever_entered"]
[connection signal="interaction_reciever_exited" from="InteractionArea" to="ProximityRotator" method="_on_interaction_area_interaction_reciever_exited"]

View file

@ -11,7 +11,7 @@ cap_top = false
[sub_resource type="CylinderShape3D" id="CylinderShape3D_auicg"]
height = 0.7128906
radius = 0.75
radius = 0.49804688
[node name="InteractibleObject" type="Area3D"]
collision_layer = 2

View file

@ -1,9 +1,13 @@
[gd_scene load_steps=6 format=3 uid="uid://c7r4rhgj3ucao"]
[gd_scene load_steps=10 format=3 uid="uid://c7r4rhgj3ucao"]
[ext_resource type="PackedScene" uid="uid://bjxjcx2qu16q5" path="res://scenes/draggable_object.tscn" id="1_bb6uc"]
[ext_resource type="Script" uid="uid://crjao0jjv5yqs" path="res://src/drag/draggable_camera.gd" id="1_hem3r"]
[ext_resource type="PackedScene" uid="uid://dfxlr4svnsdyx" path="res://scenes/ui.tscn" id="3_hflkp"]
[ext_resource type="PackedScene" uid="uid://q1y0r2rn0qb4" path="res://scenes/interactible_object.tscn" id="4_f680m"]
[ext_resource type="PackedScene" uid="uid://bx5wihgk668w1" path="res://assets/models/Chemistry.glb" id="5_q4uld"]
[ext_resource type="PackedScene" uid="uid://bg8y4u2a4hx3p" path="res://assets/models/Drip.glb" id="6_gipex"]
[ext_resource type="PackedScene" uid="uid://dwtaqdacgcysa" path="res://assets/models/FlaskHolder.glb" id="7_064jp"]
[ext_resource type="Environment" uid="uid://clgblxkcf822n" path="res://assets/Environment.tres" id="8_4kvtl"]
[sub_resource type="BoxMesh" id="BoxMesh_cbcd7"]
size = Vector3(3.535, 1, 1)
@ -11,14 +15,18 @@ size = Vector3(3.535, 1, 1)
[node name="Lab" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(2.4088485, 0, 0, 0, 1, 0, 0, 0, 2.8214846, 0, 0, 0)
mesh = SubResource("BoxMesh_cbcd7")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.236948, 0.9448395, 1.8294222)
script = ExtResource("1_hem3r")
[node name="DraggableObject" parent="." instance=ExtResource("1_bb6uc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.7153518, 0.9448395, 0.0039073825)
[node name="Flask" parent="." instance=ExtResource("1_bb6uc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.6518283, 1.0920403, 0.0039073825)
[node name="Flask2" parent="." instance=ExtResource("1_bb6uc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.542716, 1.0920403, 0.20219529)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.8403207, 0.5420896, 0, -0.5420896, 0.8403207, 0, 1.9293891, 0)
@ -31,3 +39,15 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.11957906, 0.87858754, -0.0
layer = 100
[node name="UserInterface" parent="UI" instance=ExtResource("3_hflkp")]
[node name="Chemistry" parent="." instance=ExtResource("5_q4uld")]
transform = Transform3D(-1.0927847e-08, 0, -0.25, 0, 0.25, 0, 0.25, 0, -1.0927847e-08, -3.030859, 0.55043614, -0.9607215)
[node name="Drip2" parent="." instance=ExtResource("6_gipex")]
transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 1.3666252, 0.06701976, 0.014619827)
[node name="FlaskHolder2" parent="." instance=ExtResource("7_064jp")]
transform = Transform3D(0.09002048, 0, -0.04354668, 0, 0.1, 0, 0.04354668, 0, 0.09002048, -3.3602376, 1.0968089, 0.2888375)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = ExtResource("8_4kvtl")

View file

@ -0,0 +1,46 @@
[gd_scene load_steps=2 format=3 uid="uid://bcj0mesdlfsfj"]
[ext_resource type="Script" uid="uid://c4tsyohkw45p4" path="res://src/ui/popup_container.gd" id="1_xul1r"]
[node name="PopupContainer" type="Panel"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 25.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_xul1r")
[node name="ScrollContainer" type="ScrollContainer" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_right = 0.97900003
anchor_bottom = 1.0
offset_right = -0.28308105
grow_horizontal = 2
grow_vertical = 2
horizontal_scroll_mode = 0
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = -1
anchor_left = 1.0
anchor_top = 0.0014401659
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -25.0
offset_top = 647.0668
offset_right = 622.0668
offset_bottom = 49.0
grow_vertical = 2
rotation = -1.5707964
text = "Инструменты
"
horizontal_alignment = 1
vertical_alignment = 1
metadata/_edit_use_anchors_ = true

View file

@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=3 uid="uid://blj2j7a4uyr05"]
[ext_resource type="Script" uid="uid://b2w4adq02ywrl" path="res://src/ui/reagent_drag_and_drop.gd" id="1_1whj1"]
[node name="DragAndDrop" type="Button"]
anchors_preset = -1
anchor_right = 0.043
anchor_bottom = 0.07700001
offset_right = 0.4639969
offset_bottom = 0.10399628
mouse_filter = 1
script = ExtResource("1_1whj1")
[connection signal="button_down" from="." to="." method="_on_button_down"]

View file

@ -1,4 +1,9 @@
[gd_scene format=3 uid="uid://dfxlr4svnsdyx"]
[gd_scene load_steps=5 format=3 uid="uid://dfxlr4svnsdyx"]
[ext_resource type="PackedScene" uid="uid://bcj0mesdlfsfj" path="res://scenes/popup_container.tscn" id="1_nt7q6"]
[ext_resource type="Script" uid="uid://c5pv2idedy1oy" path="res://src/ui/reagents_gen.gd" id="2_x4jx1"]
[ext_resource type="PackedScene" uid="uid://vhn8h4mhb6nh" path="res://scenes/drag_and_drop.tscn" id="3_yev5y"]
[ext_resource type="Resource" uid="uid://cay05wpketmny" path="res://assets/draggables/test_draggable.tres" id="4_gdt2y"]
[node name="UserInterface" type="Control"]
layout_mode = 3
@ -17,6 +22,36 @@ anchor_right = 1.0
offset_bottom = 31.0
grow_horizontal = 2
deselect_enabled = true
tab_count = 2
tab_0/title = "Реагенты"
tab_1/title = "Отчёт"
tab_count = 3
tab_0/title = "Ход работы"
tab_1/title = "Вопросы для самопроверки"
tab_2/title = "Отчёт"
[node name="Reagents" parent="." instance=ExtResource("1_nt7q6")]
layout_mode = 1
anchors_preset = -1
anchor_left = -0.14756945
anchor_top = 0.047839507
anchor_right = 0.0
anchor_bottom = 0.69753087
text = "Вещества"
metadata/_edit_use_anchors_ = true
[node name="Generator" type="Node" parent="Reagents"]
script = ExtResource("2_x4jx1")
[node name="Intruments" parent="." instance=ExtResource("1_nt7q6")]
layout_mode = 1
anchors_preset = -1
anchor_left = -0.14756945
anchor_top = 0.69753087
anchor_right = 0.0
text = "Инструменты"
metadata/_edit_use_anchors_ = true
[node name="DragAndDrop" parent="Intruments/ScrollContainer/VBoxContainer" index="0" instance=ExtResource("3_yev5y")]
layout_mode = 2
text = "Пробирка"
draggable = ExtResource("4_gdt2y")
[editable path="Intruments"]