Modified job_card visually and added calculation for print time based on xp, reward and amount
This commit is contained in:
parent
85da74ad1d
commit
ba657ab23a
2 changed files with 27 additions and 8 deletions
20
job_card.gd
20
job_card.gd
|
|
@ -3,17 +3,31 @@ extends PanelContainer
|
||||||
signal job_accepted
|
signal job_accepted
|
||||||
|
|
||||||
var job_data: JobData
|
var job_data: JobData
|
||||||
|
var job_time: float
|
||||||
|
var job_material: String
|
||||||
@onready var job_name: Label = $MarginContainer/VBoxContainer/HBoxContainer2/PartName
|
@onready var job_name: Label = $MarginContainer/VBoxContainer/HBoxContainer2/PartName
|
||||||
@onready var job_amount: Label = $MarginContainer/VBoxContainer/HBoxContainer3/PartAmount
|
@onready var job_amount: Label = $MarginContainer/VBoxContainer/HBoxContainer3/PartAmount
|
||||||
@onready var job_reward: Label = $MarginContainer/VBoxContainer/HBoxContainer/RewardLabel
|
@onready var job_reward: Label = $MarginContainer/VBoxContainer/HBoxContainer/RewardLabel
|
||||||
@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_material_label: Label = $MarginContainer/VBoxContainer/HBoxContainer2/PartMaterial
|
||||||
|
|
||||||
|
|
||||||
func initialize_job(data: JobData) -> void:
|
func initialize_job(data: JobData) -> void:
|
||||||
job_data = data
|
job_data = data
|
||||||
|
job_material = 'PLA'
|
||||||
|
job_time = calculate_time()
|
||||||
job_name.text = job_data.job_name
|
job_name.text = job_data.job_name
|
||||||
job_amount.text = "Amount: " + str(job_data.job_amount)
|
job_amount.text = 'Amount: %d pcs' % job_data.job_amount
|
||||||
job_reward.text = "Reward: " + str(job_data.job_reward) + "€"
|
job_reward.text = 'Reward: %.2f €' % job_data.job_reward
|
||||||
job_experience.text = "Experience: " + str(job_data.job_experience)
|
job_experience.text = 'Experience: %.0f xp | ' % job_data.job_experience
|
||||||
|
job_time_label.text = 'Time: %.2f s' % job_time
|
||||||
|
job_material_label.text = '| %s' % job_material
|
||||||
|
|
||||||
func _on_accept_job_pressed() -> void:
|
func _on_accept_job_pressed() -> void:
|
||||||
job_accepted.emit(self)
|
job_accepted.emit(self)
|
||||||
|
|
||||||
|
func calculate_time() -> float:
|
||||||
|
var print_time: float = sqrt(job_data.job_experience + job_data.job_reward) * job_data.job_amount
|
||||||
|
var round_time: float = round(print_time * 100) / 100
|
||||||
|
return round_time
|
||||||
|
|
|
||||||
15
printer.gd
15
printer.gd
|
|
@ -17,6 +17,9 @@ func initialize_printer(data: PrinterData) -> void:
|
||||||
progress_bar.value = 0
|
progress_bar.value = 0
|
||||||
_on_select_job_pressed()
|
_on_select_job_pressed()
|
||||||
|
|
||||||
|
func start_job() -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
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)
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
@ -38,12 +41,14 @@ func _on_start_button_pressed() -> void:
|
||||||
if select_job.get_item_text(0) == "No jobs accepted":
|
if select_job.get_item_text(0) == "No jobs accepted":
|
||||||
print("No job selected")
|
print("No job selected")
|
||||||
else:
|
else:
|
||||||
PlayerData.give_money.emit(selected_job.job_reward)
|
start_job()
|
||||||
if PlayerData.jobs.size() == 1:
|
|
||||||
PlayerData.jobs.clear()
|
|
||||||
else:
|
|
||||||
PlayerData.jobs.remove_at(selected_job_index)
|
|
||||||
|
|
||||||
|
#PlayerData.give_money.emit(selected_job.job_reward)
|
||||||
|
#if PlayerData.jobs.size() == 1:
|
||||||
|
# PlayerData.jobs.clear()
|
||||||
|
#else:
|
||||||
|
# PlayerData.jobs.remove_at(selected_job_index)
|
||||||
|
_on_select_job_pressed()
|
||||||
|
|
||||||
func _on_select_job_item_selected(index: int) -> void:
|
func _on_select_job_item_selected(index: int) -> void:
|
||||||
selected_job = select_job.get_item_metadata(index)
|
selected_job = select_job.get_item_metadata(index)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue