extends Control @export var jobs_array: Array[JobData] @export var job_limit: int = 5 @export var debug: bool = false var jobs_tab_button: Button @onready var debug_xp: Button = $VBoxContainer/TopBar/VBoxContainer/MarginContainer/HBoxContainer/DebugXP @onready var debug_money: Button = $VBoxContainer/TopBar/VBoxContainer/MarginContainer/HBoxContainer/DebugMoney @onready var debug_button: Button = $VBoxContainer/TopBar/VBoxContainer/MarginContainer/HBoxContainer/DebugButton const JOB_SCENE = preload("uid://dvfcie8hqcb0") const PRINTER = preload("uid://33ctlyrpibs3") func _ready() -> void: check_debug() print(jobs_array) %Money.text = "Money: " + str(PlayerData.money) + " €" %Experience.value = PlayerData.xp %Level.text = "Level: " + str(PlayerData.level) jobs_tab_button = $VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/JobsTabButton PlayerData.xp_changed.connect(_on_xp_changed) PlayerData.level_changed.connect(_on_level_changed) PlayerData.money_changed.connect(_on_money_changed) GameData.job_generated.connect(_on_job_generated) # --- Experience, Level and Money update --- func _on_xp_changed(xp): %Experience.value = xp func _on_level_changed(level): %Level.text = "Level: " + str(level) func _on_money_changed(money): %Money.text = "Money: " + str(money) + "€" func _on_job_generated(job: JobData): var new_job = JOB_SCENE.instantiate() %JobContainer.add_child(new_job) new_job.initialize_job(job) jobs_tab_button.text = "Jobs (" + str(GameData.current_job_count) + "/" + str(GameData.MAX_JOBS) + ")" new_job.job_accepted.connect(_on_job_accepted_pressed) func _on_job_accepted_pressed(accepted_job): print("Job accepted") PlayerData.jobs.append(accepted_job.job_data) print(PlayerData.jobs[0].job_name) GameData.current_job_count -= 1 accepted_job.queue_free() jobs_tab_button.text = "Jobs (" + str(GameData.current_job_count) + "/" + str(GameData.MAX_JOBS) + ")" func _on_printers_printer_purchase_requested(printer_data: PrinterData) -> void: if PlayerData.try_purchase(printer_data.printer_price): %Money.text = "Money: " + str(PlayerData.money) + "€" var new_printer = PRINTER.instantiate() %PrinterContainer.add_child(new_printer) new_printer.initialize_printer(printer_data) func check_debug() -> void: debug_xp.visible = false debug_money.visible = false if debug: debug_xp.visible = true debug_money.visible = true func _on_debug_money_pressed() -> void: PlayerData.give_money.emit(100) func _on_debug_xp_pressed() -> void: var xp = randf() * 100 PlayerData.give_experience.emit(xp) func _on_debug_button_pressed() -> void: toggle_debug() func toggle_debug() -> void: if debug == true: debug = false else: debug = true check_debug()