diff --git a/Scenes/screening_desk/bookmarks.gd b/Scenes/screening_desk/bookmarks.gd new file mode 100644 index 0000000..cdbf69e --- /dev/null +++ b/Scenes/screening_desk/bookmarks.gd @@ -0,0 +1,18 @@ +extends MarginContainer + +@onready var rules = $HBoxContainer/HBoxContainer/Rules/Bookmark +@onready var symptoms = $HBoxContainer/HBoxContainer/Symptoms/Bookmark +@onready var entities = $HBoxContainer/HBoxContainer/Entities/Bookmark + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + reset() + + +#Resets to initial state +func reset(): + for tab in [symptoms, entities]: + tab.set_pressed(false) + tab.set_mouse_filter(Control.MOUSE_FILTER_STOP) + rules.set_pressed(true) + rules.set_mouse_filter(Control.MOUSE_FILTER_IGNORE) diff --git a/Scenes/screening_desk/bookmarks.gd.uid b/Scenes/screening_desk/bookmarks.gd.uid new file mode 100644 index 0000000..56eecca --- /dev/null +++ b/Scenes/screening_desk/bookmarks.gd.uid @@ -0,0 +1 @@ +uid://bmbe8nbfx3tir diff --git a/Scenes/screening_desk/journal.gd b/Scenes/screening_desk/journal.gd new file mode 100644 index 0000000..e9cc5e7 --- /dev/null +++ b/Scenes/screening_desk/journal.gd @@ -0,0 +1,22 @@ +extends Control + + +@onready var rules = $MarginContainer/Rules +@onready var symptoms = $MarginContainer/Symptoms +@onready var entities = $MarginContainer/Entities + +@onready var rules_page = $MarginContainer/Rules/RightPage/Rules +@onready var symptoms_page = $MarginContainer/Symptoms/RightPage/Symptoms +@onready var entities_page = $MarginContainer/Entities/RightPage/Entities + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + reset() + + +#Resets to initial state +func reset(): + for screen in [symptoms, entities]: + screen.hide() + rules.show() diff --git a/Scenes/screening_desk/journal.gd.uid b/Scenes/screening_desk/journal.gd.uid new file mode 100644 index 0000000..25edeba --- /dev/null +++ b/Scenes/screening_desk/journal.gd.uid @@ -0,0 +1 @@ +uid://bh63pu3dbad1n diff --git a/Scenes/screening_desk/journal_layer.gd b/Scenes/screening_desk/journal_layer.gd index e186f4e..03d8e83 100644 --- a/Scenes/screening_desk/journal_layer.gd +++ b/Scenes/screening_desk/journal_layer.gd @@ -1,6 +1,8 @@ extends CanvasLayer @onready var journal_symptoms = $Boundaries/VBoxContainer/Journal/MarginContainer/Symptoms/RightPage/Symptoms +@onready var bookmarks = $Boundaries/VBoxContainer/Bookmarks +@onready var journal = $Boundaries/VBoxContainer/Journal #Journal Settings var symptoms_detailed: Array[Array] = [ @@ -25,9 +27,16 @@ var symptoms_detailed: Array[Array] = [ # Called when the node enters the scene tree for the first time. func _ready() -> void: + + #Connecting signals $Boundaries/VBoxContainer/Journal/MarginContainer/Rules/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) $Boundaries/VBoxContainer/Journal/MarginContainer/Symptoms/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) - hide() + $Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage/CloseManual.pressed.connect(self._on_close_manual_pressed) + bookmarks.rules.pressed.connect(self._on_tab_rules_pressed) + bookmarks.symptoms.pressed.connect(self._on_tab_symptoms_pressed) + bookmarks.entities.pressed.connect(self._on_tab_entities_pressed) + + hide() #Hiding at start func _on_close_manual_pressed(): hide() @@ -48,3 +57,38 @@ func update_journal(floor_count:int): #Resets to initial state func reset(): hide() + + +#Shows the rules tab +func _on_tab_rules_pressed(): + tab_switch(bookmarks.rules, journal.rules) + + +#Shows the symptoms tab +func _on_tab_symptoms_pressed(): + tab_switch(bookmarks.symptoms, journal.symptoms) + + +#Shows the entities tab +func _on_tab_entities_pressed(): + tab_switch(bookmarks.entities, journal.entities) + + +#Shows the correct screen according to the pressed tab +func tab_switch(pressed_tab, tab_screen): + + #Highlights pressed tab and unpress the others + for tab in [bookmarks.rules, bookmarks.symptoms, bookmarks.entities]: + if tab == pressed_tab: + pressed_tab.set_pressed(true) + pressed_tab.set_mouse_filter(Control.MOUSE_FILTER_IGNORE) + else: + tab.set_pressed(false) + tab.set_mouse_filter(Control.MOUSE_FILTER_STOP) + + #Showing desired screen and hiding the others + for screen in [journal.rules, journal.symptoms, journal.entities]: + if screen == tab_screen: + screen.show() + else: + screen.hide() diff --git a/Scenes/screening_desk/screening_desk.tscn b/Scenes/screening_desk/screening_desk.tscn index 96be920..baaa3db 100644 --- a/Scenes/screening_desk/screening_desk.tscn +++ b/Scenes/screening_desk/screening_desk.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=65 format=3 uid="uid://chytk2cctjk3x"] +[gd_scene load_steps=67 format=3 uid="uid://chytk2cctjk3x"] [ext_resource type="Script" uid="uid://b3ms0imu0umn8" path="res://Scenes/screening_desk/screening_desk.gd" id="1_1s7k3"] [ext_resource type="Script" uid="uid://dcax2vggaexnr" path="res://Scenes/screening_desk/journal_layer.gd" id="3_8gteb"] @@ -9,12 +9,14 @@ [ext_resource type="Texture2D" uid="uid://diln53wxa3oep" path="res://Art/Rooms/screening_room/journal_open.png" id="5_31hpe"] [ext_resource type="Script" uid="uid://cdkbyikbjqlsh" path="res://Scenes/screening_desk/supervisor.gd" id="5_43vqp"] [ext_resource type="Texture2D" uid="uid://dxo6ub74dhixq" path="res://Art/Rooms/screening_room/bookmark_pressed.png" id="5_vrfmd"] +[ext_resource type="Script" uid="uid://bmbe8nbfx3tir" path="res://Scenes/screening_desk/bookmarks.gd" id="5_x8y1p"] [ext_resource type="Texture2D" uid="uid://cci0pb12chlps" path="res://Art/Rooms/screening_room/computer.png" id="6_6a8ar"] [ext_resource type="Texture2D" uid="uid://wm5ht6ktonff" path="res://Art/Subjects/Patients/patient_51/patient_51_neutral.png" id="6_7jdsc"] [ext_resource type="Texture2D" uid="uid://dogommjgk3cn2" path="res://Art/Rooms/screening_room/bookmark_hover.png" id="6_255ay"] [ext_resource type="Texture2D" uid="uid://jychpkygmjib" path="res://Art/Rooms/screening_room/desk.png" id="7_dp545"] [ext_resource type="Theme" uid="uid://3k7sqw211ncl" path="res://Art/UI/button_theme.tres" id="8_hxrv4"] [ext_resource type="Texture2D" uid="uid://c3frxq4vyu0pr" path="res://Art/Rooms/screening_room/console_screen.png" id="9_68gp8"] +[ext_resource type="Script" uid="uid://bh63pu3dbad1n" path="res://Scenes/screening_desk/journal.gd" id="9_w4r3h"] [ext_resource type="BitMap" uid="uid://b1y07k0opbyju" path="res://Art/Rooms/screening_room/button_bitmap.png" id="10_hxph5"] [ext_resource type="Texture2D" uid="uid://bhqx2kjgn1irf" path="res://Art/Rooms/screening_room/green_button.png" id="10_tmo4o"] [ext_resource type="Texture2D" uid="uid://bagw75cp302xk" path="res://Art/Rooms/screening_room/green_button_pressed.png" id="11_weq72"] @@ -387,6 +389,7 @@ layout_mode = 2 theme = SubResource("Theme_w4r3h") theme_override_constants/margin_left = 60 theme_override_constants/margin_right = 60 +script = ExtResource("5_x8y1p") [node name="HBoxContainer" type="HBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Bookmarks"] layout_mode = 2 @@ -505,6 +508,7 @@ custom_minimum_size = Vector2(0, 900) layout_mode = 2 size_flags_vertical = 6 theme = SubResource("Theme_074om") +script = ExtResource("9_w4r3h") [node name="TextureRect" type="TextureRect" parent="JournalLayer/Boundaries/VBoxContainer/Journal"] z_index = 2 @@ -537,6 +541,7 @@ theme_override_constants/margin_right = 70 theme_override_constants/margin_bottom = 50 [node name="Rules" type="HBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer"] +visible = false layout_mode = 2 size_flags_vertical = 3 theme_override_constants/separation = 90 @@ -562,13 +567,15 @@ theme_override_constants/line_separation = 5 theme_override_constants/paragraph_separation = 5 theme_override_font_sizes/normal_font_size = 20 bbcode_enabled = true -text = "- SUBJECTS HAVE BEEN PRE-SCREENED AND DIAGNOSED WITH [color=orange_red]SYMPTOMS[/color] THAT MAY OR MAY NOT BE MARKERS OF ABNORMALITY. +text = "- THE INSTRUCTIONS ON THE RIGHT PAGE ARE TO BE FOLLOWED RIGOROUSLY. -- ALL [color=orange_red]RELEVANT[/color] SYMPTOMS ARE LISTED ON THE RIGHT. +- FAILURE TO COMPLY MAY YIELD UNWANTED RESULTS. -- THE LIST MAY BE [color=orange_red]UPDATED[/color] ACCORDING TO LATEST INTEL. +- THE REPUBLIC DECLINES ALL RESPONSIBILITY REGARDING EMPLOYEES' ADVERSE EVENTS, AS PER ARTICLE 3.187 CODE 15C. -- IF YOU IDENTIFY A SYMPTOM [color=orange_red]THAT WAS NOT DETECTED BY PRE-SCREENING[/color], [color=red]TERMINATE[/color] THE SUBJECT." +- AS AN EMPLOYEE, YOUR WELL-BEING IS OUR ABSOLUTE PRIORITY. YOU [color=forest_green]MATTER[/color]. + +- DO YOUR [color=red]DUTY[/color]." [node name="Slogan" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Rules/LeftPage"] custom_minimum_size = Vector2(0, 100) @@ -593,7 +600,7 @@ text = "Close manual" layout_mode = 2 size_flags_horizontal = 3 -[node name="Symptoms" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Rules/RightPage"] +[node name="Rules" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Rules/RightPage"] layout_mode = 2 size_flags_vertical = 3 theme_override_constants/line_separation = 5 @@ -604,11 +611,16 @@ text = "- SUBJECTS HAVE BEEN PRE-SCREENED AND DIAGNOSED WITH [color=orange_red]S - PRE-SCREENED SYMPTOMS CAN BE ACCESSED WITHIN THE [color=orange_red]SUBJECT FILE[/color] TAB ON YOUR COMPUTER. -- IF YOU IDENTIFY A SYMPTOM [color=orange_red]THAT WAS NOT DETECTED BY PRE-SCREENING[/color], [color=red]TERMINATE[/color] THE SUBJECT. - - ALL SYMPTOMS ARE LISTED IN THE [color=orange_red]SYMPTOMS[/color] SECTION OF THIS MANUAL. -- CONVERSATION WITH CURRENT SUBJECT IS CATALOGUED IN THE [color=orange_red]RECORDING TAB[/color] ON YOUR COMPUTER, TO BE REVIEWED IF NEEDED." +- CONVERSATION WITH CURRENT SUBJECT IS CATALOGUED IN THE [color=orange_red]RECORDING TAB[/color] ON YOUR COMPUTER, TO BE REVIEWED IF NEEDED. + +- YOU MAY CHOOSE TO [color=forest_green]RELEASE[/color] or [color=red]TERMINATE[/color] A SUBJECT AT ANY TIME OF YOUR ASSESSMENT. + +- IF YOU IDENTIFY A SYMPTOM [color=orange_red]THAT WAS NOT DETECTED BY PRE-SCREENING[/color], [color=red]TERMINATE[/color] THE SUBJECT. + +- SUCCESSFULLY DIAGNOSE ENOUGH SUBJECTS [color=orange_red]IN A ROW[/color] TO PROGRESS TO THE NEXT FLOOR." +vertical_alignment = 1 [node name="Symptoms" type="HBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer"] visible = false @@ -627,7 +639,7 @@ size_flags_stretch_ratio = 0.1 theme_override_font_sizes/normal_font_size = 28 bbcode_enabled = true text = " -[center]EMPLOYEE DIRECTIVES[/center]" +[center]SYMPTOMS LIST[/center]" [node name="Instructions" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Symptoms/LeftPage"] custom_minimum_size = Vector2(0, 400) @@ -710,6 +722,82 @@ Deliberate injury to one's own body HETERO-AGRESSIVE BEHAVIOUR Hostility, verbal agression, threats" +[node name="Entities" type="HBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_constants/separation = 90 + +[node name="LeftPage" type="VBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="PageTitle" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage"] +custom_minimum_size = Vector2(0, 150) +layout_mode = 2 +size_flags_stretch_ratio = 0.1 +theme_override_font_sizes/normal_font_size = 28 +bbcode_enabled = true +text = " +[center]ENTITIES[/center]" + +[node name="Instructions" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage"] +custom_minimum_size = Vector2(0, 400) +layout_mode = 2 +size_flags_vertical = 4 +theme_override_constants/line_separation = 5 +theme_override_constants/paragraph_separation = 5 +theme_override_font_sizes/normal_font_size = 20 +bbcode_enabled = true +text = "- BEINGS OF [color=red]INHUMAN NATURE[/color] HAVE BEEN DETECTED HIDING AMONGST THE SUBJECTS APPREHENDED IN THIS FACILITY. + +- ALTHOUGH THEIR MOTIVES ARE UNKNOWN, SOME BEHAVIOUR [color=orange_red]PATTERNS[/color] HAVE BEEN IDENTIFIED. + +- [color=red]TERMINATE[/color] THEM AS SOON AS POSSIBLE. + +- FOLLOWING THE RECOMMENDED COURSE OF ACTION IS [color=forest_green]HIGHLY RECOMMENDED[/color] IN ORDER TO PRESERVE YOUR WELL-BEING. + +- THE REPUBLIC [color=blue]WITHSTANDS[/color]." + +[node name="Slogan" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage"] +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_vertical = 6 +theme_override_constants/line_separation = 20 +theme_override_font_sizes/normal_font_size = 28 +bbcode_enabled = true +text = "[color=dark_blue]THE REPUBLIC SHELTERS[/color]" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CloseManual" type="Button" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities/LeftPage"] +custom_minimum_size = Vector2(200, 60) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 6 +theme = SubResource("Theme_cjapy") +text = "Close manual" + +[node name="RightPage" type="VBoxContainer" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Entities" type="RichTextLabel" parent="JournalLayer/Boundaries/VBoxContainer/Journal/MarginContainer/Entities/RightPage"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_constants/paragraph_separation = 1 +theme_override_font_sizes/normal_font_size = 20 +bbcode_enabled = true +text = "[color=dark_red]ENTITY #01[/color] + +CHARACTERISTICS +- Appears as an old naked man. +- Anatomical anomalies may be observed. + +RECOMMENDED COURSE OF ACTION +- Answer its questions in a [color=orange_red]STRAIGHTFORWARD[/color] manner. +- [color=red]DO NOT LIE.[/color] +" + [node name="UpperHalf" type="Control" parent="."] layout_mode = 1 anchors_preset = 15 @@ -843,15 +931,6 @@ theme_override_font_sizes/font_size = 16 toggle_mode = true text = "RULES" -[node name="Entities" type="Button" parent="LowerHalf/Computer/Margin/ComputerScreen/Tabs"] -layout_mode = 2 -size_flags_horizontal = 3 -theme = ExtResource("8_hxrv4") -theme_override_fonts/font = ExtResource("14_0pvwy") -theme_override_font_sizes/font_size = 16 -toggle_mode = true -text = "ENTITIES" - [node name="Recording" type="Button" parent="LowerHalf/Computer/Margin/ComputerScreen/Tabs"] layout_mode = 2 size_flags_horizontal = 3 @@ -912,31 +991,6 @@ text = " 1- Pre-screening psychiatric assessment identified [color=dark_orange]S horizontal_alignment = 3 vertical_alignment = 1 -[node name="Entities" type="RichTextLabel" parent="LowerHalf/Computer/Margin/ComputerScreen/ComputerTabs"] -z_index = 1 -layout_mode = 2 -theme_override_constants/line_separation = 5 -theme_override_constants/paragraph_separation = 5 -theme_override_fonts/normal_font = ExtResource("14_0pvwy") -theme_override_fonts/italics_font = ExtResource("14_0pvwy") -theme_override_font_sizes/normal_font_size = 16 -theme_override_font_sizes/italics_font_size = 16 -bbcode_enabled = true -text = " -[color=dark_red]ENTITY #01[/color] - -CHARACTERISTICS -- Appears as an old naked man. -- Anatomical anomalies may be observed. - -RECOMMENDED COURSE OF ACTION -- Answer its questions in a [color=orange]straightforward[/color] manner. -- [color=red]DO NOT LIE.[/color] - - -[color=dark_red]ENTITY #01[/color]" -vertical_alignment = 1 - [node name="Recording" type="RichTextLabel" parent="LowerHalf/Computer/Margin/ComputerScreen/ComputerTabs"] visible = false layout_mode = 2