Added owned printers to playerdata
This commit is contained in:
parent
da014a5341
commit
b918871be2
6 changed files with 25 additions and 7 deletions
|
|
@ -38,6 +38,7 @@ func _on_shop_printer_purchase_req(printer_data: PrinterData) -> void:
|
||||||
var new_printer = PRINTER.instantiate()
|
var new_printer = PRINTER.instantiate()
|
||||||
printer_bought.emit(new_printer)
|
printer_bought.emit(new_printer)
|
||||||
new_printer.initialize_printer(printer_data)
|
new_printer.initialize_printer(printer_data)
|
||||||
|
PlayerData.owned_printers += 1
|
||||||
|
|
||||||
|
|
||||||
#region Job generation
|
#region Job generation
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,9 @@ extends Node
|
||||||
var xp: float = 0:
|
var xp: float = 0:
|
||||||
set(value):
|
set(value):
|
||||||
xp = value
|
xp = value
|
||||||
|
xp_changed.emit(xp)
|
||||||
|
|
||||||
var money: float = 500:
|
var money: float = 200:
|
||||||
set(value):
|
set(value):
|
||||||
money = value
|
money = value
|
||||||
money_changed.emit(money)
|
money_changed.emit(money)
|
||||||
|
|
@ -14,11 +15,16 @@ var level: int = 1:
|
||||||
level = value
|
level = value
|
||||||
level_changed.emit(level)
|
level_changed.emit(level)
|
||||||
|
|
||||||
var max_order_amount: int = 10:
|
var max_order_amount: int = 3:
|
||||||
set(value):
|
set(value):
|
||||||
max_order_amount = value
|
max_order_amount = value
|
||||||
max_order_amount_changed.emit(max_order_amount)
|
max_order_amount_changed.emit(max_order_amount)
|
||||||
|
|
||||||
|
var owned_printers: int = 0:
|
||||||
|
set(value):
|
||||||
|
owned_printers = value
|
||||||
|
owned_printers_changed.emit(value)
|
||||||
|
|
||||||
var sell_multiplier: float = 0.5
|
var sell_multiplier: float = 0.5
|
||||||
|
|
||||||
var jobs: Array[JobData]
|
var jobs: Array[JobData]
|
||||||
|
|
@ -28,6 +34,7 @@ signal xp_changed(new_xp)
|
||||||
signal money_changed(new_money)
|
signal money_changed(new_money)
|
||||||
signal level_changed(new_level)
|
signal level_changed(new_level)
|
||||||
signal max_order_amount_changed(new_max_order_amount)
|
signal max_order_amount_changed(new_max_order_amount)
|
||||||
|
signal owned_printers_changed(new_amount)
|
||||||
|
|
||||||
# Signal - functions
|
# Signal - functions
|
||||||
signal give_experience(xp_amount)
|
signal give_experience(xp_amount)
|
||||||
|
|
@ -44,7 +51,6 @@ func _on_give_experience(amount: float) -> void:
|
||||||
while xp >= xp_required_for_level(level):
|
while xp >= xp_required_for_level(level):
|
||||||
xp -= xp_required_for_level(level)
|
xp -= xp_required_for_level(level)
|
||||||
level += 1
|
level += 1
|
||||||
xp_changed.emit(xp)
|
|
||||||
|
|
||||||
func _on_give_money(amount: float) -> void:
|
func _on_give_money(amount: float) -> void:
|
||||||
money += amount
|
money += amount
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,11 @@ var job_material: String
|
||||||
@onready var job_experience: Label = $MarginContainer/VBoxContainer/HBoxContainer3/PartExperience
|
@onready var job_experience: Label = $MarginContainer/VBoxContainer/HBoxContainer3/PartExperience
|
||||||
@onready var job_time_label: Label = $MarginContainer/VBoxContainer/HBoxContainer/TimeLabel
|
@onready var job_time_label: Label = $MarginContainer/VBoxContainer/HBoxContainer/TimeLabel
|
||||||
@onready var job_material_label: Label = $MarginContainer/VBoxContainer/HBoxContainer2/PartMaterial
|
@onready var job_material_label: Label = $MarginContainer/VBoxContainer/HBoxContainer2/PartMaterial
|
||||||
|
@onready var skip_job_button: Button = $MarginContainer/VBoxContainer/HBoxContainer/SkipJob
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
PlayerData.owned_printers_changed.connect(_on_owned_printers_changed)
|
||||||
|
_on_owned_printers_changed(PlayerData.owned_printers)
|
||||||
|
|
||||||
func initialize_job(data: JobData) -> void:
|
func initialize_job(data: JobData) -> void:
|
||||||
job_data = data
|
job_data = data
|
||||||
|
|
@ -37,6 +41,12 @@ func calculate_time() -> String:
|
||||||
else:
|
else:
|
||||||
return '%.2f s' % round_time
|
return '%.2f s' % round_time
|
||||||
|
|
||||||
|
func _on_owned_printers_changed(owned_printers: int) -> void:
|
||||||
|
if owned_printers == 0:
|
||||||
|
skip_job_button.disabled = true
|
||||||
|
return
|
||||||
|
skip_job_button.disabled = false
|
||||||
|
|
||||||
func _on_accept_job_pressed() -> void:
|
func _on_accept_job_pressed() -> void:
|
||||||
job_accepted.emit(self)
|
job_accepted.emit(self)
|
||||||
GameData.refresh_printer_dropdown.emit()
|
GameData.refresh_printer_dropdown.emit()
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,14 @@ func _process(delta) -> void:
|
||||||
|
|
||||||
func reset_status() -> void:
|
func reset_status() -> void:
|
||||||
is_printing = false
|
is_printing = false
|
||||||
_on_select_job_pressed()
|
|
||||||
set_status()
|
|
||||||
time_left_label.visible = false
|
time_left_label.visible = false
|
||||||
progress_bar.visible = false
|
progress_bar.visible = false
|
||||||
progress_bar.value = 0
|
progress_bar.value = 0
|
||||||
time_left = 0
|
time_left = 0
|
||||||
select_job.disabled = false
|
select_job.disabled = false
|
||||||
start_button.disabled = false
|
start_button.disabled = false
|
||||||
|
_on_select_job_pressed()
|
||||||
|
set_status()
|
||||||
|
|
||||||
func set_status() -> void:
|
func set_status() -> void:
|
||||||
if is_printing:
|
if is_printing:
|
||||||
|
|
@ -84,6 +84,7 @@ func _on_refresh_printer_dropdown() -> void:
|
||||||
|
|
||||||
func _on_sell_button_pressed() -> void:
|
func _on_sell_button_pressed() -> void:
|
||||||
PlayerData.give_money.emit(printer_data.printer_price * PlayerData.sell_multiplier)
|
PlayerData.give_money.emit(printer_data.printer_price * PlayerData.sell_multiplier)
|
||||||
|
PlayerData.owned_printers -= 1
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
func _on_select_job_pressed() -> void:
|
func _on_select_job_pressed() -> void:
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ text = "Time left: 15.0"
|
||||||
|
|
||||||
[node name="ProgressBar" type="ProgressBar" parent="MarginContainer/MainArea/PrintInfo" unique_id=768246659]
|
[node name="ProgressBar" type="ProgressBar" parent="MarginContainer/MainArea/PrintInfo" unique_id=768246659]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_styles/fill = ExtResource("2_dlbos")
|
||||||
max_value = 1.0
|
max_value = 1.0
|
||||||
|
|
||||||
[node name="Buttons" type="HBoxContainer" parent="MarginContainer/MainArea" unique_id=248340191]
|
[node name="Buttons" type="HBoxContainer" parent="MarginContainer/MainArea" unique_id=248340191]
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,7 @@ const PRINTER = preload("uid://33ctlyrpibs3")
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
check_debug()
|
check_debug()
|
||||||
|
|
||||||
#_on_xp_changed(PlayerData.xp)
|
_on_xp_changed(PlayerData.xp)
|
||||||
%Experience.value = 0
|
|
||||||
_on_level_changed(PlayerData.level)
|
_on_level_changed(PlayerData.level)
|
||||||
_on_money_changed(PlayerData.money)
|
_on_money_changed(PlayerData.money)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue