Fixed the game and applied PlayerData global file

This commit is contained in:
jepsu 2026-06-23 22:06:18 +03:00
parent 98ee292d30
commit 882f784b42
5 changed files with 20 additions and 8 deletions

View file

@ -35,3 +35,10 @@ func _on_give_experience(amount: float) -> void:
func _on_give_money(amount: float) -> void: func _on_give_money(amount: float) -> void:
money += amount money += amount
func try_purchase(amount) -> bool:
if amount <= money:
money -= amount
return true
else:
return false

View file

@ -5,4 +5,5 @@ var printer_data: PrinterData
func initialize_printer(data: PrinterData) -> void: func initialize_printer(data: PrinterData) -> void:
printer_data = data printer_data = data
#print("Creating bought printer: " + printer_data.printer_manufacturer)
model.text = printer_data.printer_manufacturer + printer_data.printer_type model.text = printer_data.printer_manufacturer + printer_data.printer_type

View file

@ -20,3 +20,4 @@ func initialize_printer(data: PrinterData) -> void:
func _on_buy_button_pressed() -> void: func _on_buy_button_pressed() -> void:
buy_printer.emit(self) buy_printer.emit(self)
print("Shop tab printer clicked: " + self.printer_data.printer_manufacturer)

View file

@ -13,5 +13,5 @@ func _ready() -> void:
new_printer.buy_printer.connect(_buy_printer_pressed) new_printer.buy_printer.connect(_buy_printer_pressed)
func _buy_printer_pressed(bought_printer): func _buy_printer_pressed(bought_printer):
print("Printer model: " + bought_printer.printer_data.printer_type) #print("Printer model: " + bought_printer.printer_data.printer_type)
printer_purchase_requested.emit(bought_printer.printer_data) printer_purchase_requested.emit(bought_printer.printer_data)

17
ui.gd
View file

@ -3,7 +3,7 @@ extends Control
@export var jobs_array: Array[JobData] @export var jobs_array: Array[JobData]
@export var job_limit: int = 5 @export var job_limit: int = 5
var jobs_tab_button: Button var jobs_tab_button: Button
const job_scene = preload("uid://dvfcie8hqcb0") const JOB_SCENE = preload("uid://dvfcie8hqcb0")
const PRINTER = preload("uid://33ctlyrpibs3") const PRINTER = preload("uid://33ctlyrpibs3")
func _ready() -> void: func _ready() -> void:
@ -12,6 +12,7 @@ func _ready() -> void:
%Level.text = "Level: " + str(PlayerData.level) %Level.text = "Level: " + str(PlayerData.level)
jobs_tab_button = $VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/JobsTabButton jobs_tab_button = $VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/JobsTabButton
PlayerData.xp_changed.connect(_on_xp_changed)
PlayerData.level_changed.connect(_on_level_changed) PlayerData.level_changed.connect(_on_level_changed)
PlayerData.money_changed.connect(_on_money_changed) PlayerData.money_changed.connect(_on_money_changed)
@ -21,13 +22,16 @@ func generate_job():
if not job_count.size() >= job_limit: if not job_count.size() >= job_limit:
var random_job: JobData = jobs_array.pick_random() var random_job: JobData = jobs_array.pick_random()
var new_job = job_scene.instantiate() var new_job = JOB_SCENE.instantiate()
%JobContainer.add_child(new_job) %JobContainer.add_child(new_job)
new_job.initialize_job(random_job) new_job.initialize_job(random_job)
job_count = %JobContainer.get_children() job_count = %JobContainer.get_children()
jobs_tab_button.text = "Jobs (" + str(job_count.size()) + "/" + str(job_limit) + ")" jobs_tab_button.text = "Jobs (" + str(job_count.size()) + "/" + str(job_limit) + ")"
new_job.job_accepted.connect(_on_job_accepted_pressed) new_job.job_accepted.connect(_on_job_accepted_pressed)
# --- Experience, Level and Money update ---
func _on_xp_changed(xp):
%Experience.value = xp
func _on_level_changed(level): func _on_level_changed(level):
%Level.text = "Level: " + str(level) %Level.text = "Level: " + str(level)
func _on_money_changed(money): func _on_money_changed(money):
@ -35,9 +39,7 @@ func _on_money_changed(money):
func _on_job_accepted_pressed(accepted_job): func _on_job_accepted_pressed(accepted_job):
print("Job accepted") print("Job accepted")
#give_experience(accepted_job.job_data.job_experience)
PlayerData.give_experience.emit(accepted_job.job_data.job_experience) PlayerData.give_experience.emit(accepted_job.job_data.job_experience)
#give_money(accepted_job.job_data.job_reward)
PlayerData.give_money.emit(accepted_job.job_data.job_reward) PlayerData.give_money.emit(accepted_job.job_data.job_reward)
accepted_job.queue_free() accepted_job.queue_free()
@ -48,8 +50,9 @@ func _on_job_spawner_timeout() -> void:
generate_job() generate_job()
func _on_printers_printer_purchase_requested(printer_data: PrinterData) -> void: func _on_printers_printer_purchase_requested(printer_data: PrinterData) -> void:
if printer_data.printer_price <= PlayerData.money: #print("Signal reached UI: " + printer_data.printer_manufacturer)
#money -= printer_data.printer_price if PlayerData.try_purchase(printer_data.printer_price):
#%Money.text = "Money: " + str(money) + "€" %Money.text = "Money: " + str(PlayerData.money) + ""
var new_printer = PRINTER.instantiate() var new_printer = PRINTER.instantiate()
%PrinterContainer.add_child(new_printer)
new_printer.initialize_printer(printer_data) new_printer.initialize_printer(printer_data)