Bookmarks WIP 2

This commit is contained in:
2026-03-11 23:17:25 +01:00
parent 99268f3c2a
commit 08a5d3ec39
6 changed files with 185 additions and 45 deletions
+18
View File
@@ -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)
+1
View File
@@ -0,0 +1 @@
uid://bmbe8nbfx3tir
+22
View File
@@ -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()
+1
View File
@@ -0,0 +1 @@
uid://bh63pu3dbad1n
+45 -1
View File
@@ -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()
+98 -44
View File
@@ -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