Code reorganizing
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
extends Control
|
||||
|
||||
@onready var tab_patient_file = $Margin/ComputerScreen/Tabs/PatientFile
|
||||
@onready var tab_rules = $Margin/ComputerScreen/Tabs/Rules
|
||||
@onready var tab_recording = $Margin/ComputerScreen/Tabs/Recording
|
||||
@onready var patient_file = $Margin/ComputerScreen/ComputerTabs/FileContainer/PatientFile
|
||||
@onready var rules = $Margin/ComputerScreen/ComputerTabs/Rules
|
||||
@onready var recording = $Margin/ComputerScreen/ComputerTabs/Recording
|
||||
@onready var screen = $Margin/ComputerScreen2
|
||||
@onready var next_patient_button = $Margin/NextPatient/CallNextPatient
|
||||
|
||||
var tab_list
|
||||
var screen_list
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
|
||||
tab_list = [tab_patient_file, tab_rules, tab_recording]
|
||||
screen_list = [patient_file, rules, recording]
|
||||
|
||||
#Connecting signals
|
||||
tab_patient_file.pressed.connect(self._on_tab_patient_file_pressed)
|
||||
tab_rules.pressed.connect(self._on_tab_rules_pressed)
|
||||
tab_recording.pressed.connect(self._on_tab_recording_pressed)
|
||||
Globals.response_chosen.connect(self._on_response_chosen)
|
||||
|
||||
#Hiding everything
|
||||
for node in tab_list + screen_list + [screen, next_patient_button]:
|
||||
node.hide()
|
||||
|
||||
|
||||
#Displays a message on the computer screen
|
||||
func display(message):
|
||||
var text = message.replace("\\n", "\n") #Replaces litteral backslashes by actual newlines (necessary because of Dialogue Manager)
|
||||
screen.text = text
|
||||
screen.show()
|
||||
|
||||
|
||||
#Shows the patient file tab
|
||||
func _on_tab_patient_file_pressed():
|
||||
tab_switch(tab_patient_file, patient_file)
|
||||
|
||||
#Shows the rules tab
|
||||
func _on_tab_rules_pressed():
|
||||
tab_switch(tab_rules, rules)
|
||||
|
||||
#Shows the recording tab
|
||||
func _on_tab_recording_pressed():
|
||||
tab_switch(tab_recording, recording)
|
||||
|
||||
|
||||
#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 tab_list:
|
||||
tab.set_pressed(false)
|
||||
tab.set_mouse_filter(Control.MOUSE_FILTER_STOP)
|
||||
pressed_tab.set_pressed(true)
|
||||
pressed_tab.set_mouse_filter(Control.MOUSE_FILTER_IGNORE)
|
||||
|
||||
#Showing desired screen and hiding the others
|
||||
for node in screen_list:
|
||||
node.hide()
|
||||
tab_screen.show()
|
||||
|
||||
|
||||
func _recording_text(dialogue_line): #Records the dialogues
|
||||
|
||||
recording.append_text("\n\n")
|
||||
recording.append_text("[color=red]" + dialogue_line.character + "[/color]" + "\n")
|
||||
recording.append_text(dialogue_line.text)
|
||||
|
||||
|
||||
func _on_response_chosen(response): #Adds protagonist responses to the recording tab
|
||||
|
||||
recording.append_text("\n\n")
|
||||
recording.append_text("[color=green]You[/color]" + "\n")
|
||||
recording.append_text(response.text)
|
||||
Reference in New Issue
Block a user