Visual changes: Added scroll containers for jobs and printer shop window. Cleanup: Reformatted printer_card.gd text fields
This commit is contained in:
parent
a2978f4bee
commit
8db4d819bd
6 changed files with 80 additions and 25 deletions
|
|
@ -23,8 +23,13 @@ extends Resource
|
||||||
_generate_job_time()
|
_generate_job_time()
|
||||||
|
|
||||||
@export var job_description: String
|
@export var job_description: String
|
||||||
|
|
||||||
|
@export var job_material: String = "PLA":
|
||||||
|
set(value):
|
||||||
|
job_material = value
|
||||||
|
_generate_job_time()
|
||||||
|
|
||||||
var job_time: float
|
var job_time: float
|
||||||
var job_material: String = "PLA"
|
|
||||||
|
|
||||||
|
|
||||||
func _init() -> void:
|
func _init() -> void:
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,9 @@ func initialize_printer(data: PrinterData) -> void:
|
||||||
printer_data = data
|
printer_data = data
|
||||||
printer_name.text = printer_data.printer_manufacturer
|
printer_name.text = printer_data.printer_manufacturer
|
||||||
printer_model.text = printer_data.printer_type
|
printer_model.text = printer_data.printer_type
|
||||||
printer_speed.text = "Speed: " + str(printer_data.printer_speed) + "/5"
|
printer_speed.text = 'Speed: %d/5' % printer_data.printer_speed
|
||||||
printer_quality.text = "Quality: " + str(printer_data.printer_quality) + "/5"
|
printer_quality.text = 'Quality: %d/5' % printer_data.printer_quality
|
||||||
printer_price.text = "Price: " + str(printer_data.printer_price) + "€"
|
printer_price.text = 'Price: %d €' % printer_data.printer_price
|
||||||
|
|
||||||
if PlayerData.money > printer_data.printer_price:
|
if PlayerData.money > printer_data.printer_price:
|
||||||
buy_button.disabled = false
|
buy_button.disabled = false
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,17 @@ signal printer_purchase_requested(printer_data: PrinterData)
|
||||||
const PRINTER_SCENE = preload("uid://bdpqvwvwmaian")
|
const PRINTER_SCENE = preload("uid://bdpqvwvwmaian")
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
for printer in printers_array:
|
generate_printers()
|
||||||
var new_printer = PRINTER_SCENE.instantiate()
|
generate_printers()
|
||||||
$PrinterList.add_child(new_printer)
|
|
||||||
new_printer.initialize_printer(printer)
|
|
||||||
new_printer.buy_printer.connect(_buy_printer_pressed)
|
|
||||||
|
|
||||||
printer_purchase_requested.connect(GameData._on_shop_printer_purchase_req)
|
printer_purchase_requested.connect(GameData._on_shop_printer_purchase_req)
|
||||||
|
|
||||||
|
func generate_printers() -> void:
|
||||||
|
for printer in printers_array:
|
||||||
|
var new_printer = PRINTER_SCENE.instantiate()
|
||||||
|
%PrinterList.add_child(new_printer)
|
||||||
|
new_printer.initialize_printer(printer)
|
||||||
|
new_printer.buy_printer.connect(_buy_printer_pressed)
|
||||||
|
|
||||||
func _buy_printer_pressed(bought_printer) -> void:
|
func _buy_printer_pressed(bought_printer) -> void:
|
||||||
printer_purchase_requested.emit(bought_printer.printer_data)
|
printer_purchase_requested.emit(bought_printer.printer_data)
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
[node name="PrinterCard" type="PanelContainer" unique_id=1714388686]
|
[node name="PrinterCard" type="PanelContainer" unique_id=1714388686]
|
||||||
offset_right = 40.0
|
offset_right = 40.0
|
||||||
offset_bottom = 40.0
|
offset_bottom = 40.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
script = ExtResource("1_tl8ce")
|
script = ExtResource("1_tl8ce")
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=2020543953]
|
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=2020543953]
|
||||||
|
|
|
||||||
|
|
@ -33,12 +33,12 @@ func _on_level_changed(level) -> void:
|
||||||
func _on_money_changed(money) -> void:
|
func _on_money_changed(money) -> void:
|
||||||
%Money.text = 'Money: %.2f €' % money
|
%Money.text = 'Money: %.2f €' % money
|
||||||
|
|
||||||
func _on_job_generated(job: Node) -> void:
|
|
||||||
%JobContainer.add_child(job)
|
|
||||||
|
|
||||||
func _on_job_interact() -> void:
|
func _on_job_interact() -> void:
|
||||||
jobs_tab_button.text = 'Jobs (%d / %d)' % [GameData.current_job_count, GameData.MAX_JOBS]
|
jobs_tab_button.text = 'Jobs (%d / %d)' % [GameData.current_job_count, GameData.MAX_JOBS]
|
||||||
|
|
||||||
|
func _on_job_generated(job: Node) -> void:
|
||||||
|
%JobContainer.add_child(job)
|
||||||
|
|
||||||
func _on_printer_bought(new_printer: Node) -> void:
|
func _on_printer_bought(new_printer: Node) -> void:
|
||||||
%PrinterContainer.add_child(new_printer)
|
%PrinterContainer.add_child(new_printer)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,9 @@ corner_radius_bottom_right = 6
|
||||||
corner_radius_bottom_left = 6
|
corner_radius_bottom_left = 6
|
||||||
corner_detail = 6
|
corner_detail = 6
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vqjbf"]
|
||||||
|
bg_color = Color(0.6, 0.6, 0.6, 0)
|
||||||
|
|
||||||
[node name="UI" type="Control" unique_id=256887379]
|
[node name="UI" type="Control" unique_id=256887379]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
|
@ -106,6 +109,7 @@ show_percentage = false
|
||||||
|
|
||||||
[node name="MainArea" type="HBoxContainer" parent="VBoxContainer" unique_id=352001241]
|
[node name="MainArea" type="HBoxContainer" parent="VBoxContainer" unique_id=352001241]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
[node name="LeftColumn" type="VBoxContainer" parent="VBoxContainer/MainArea" unique_id=497978034]
|
[node name="LeftColumn" type="VBoxContainer" parent="VBoxContainer/MainArea" unique_id=497978034]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -159,23 +163,47 @@ layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Menu"
|
text = "Menu"
|
||||||
|
|
||||||
[node name="JobsTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn" unique_id=859027615]
|
[node name="MainMargin" type="MarginContainer" parent="VBoxContainer/MainArea/RightColumn" unique_id=562508461]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/margin_left = 10
|
||||||
|
theme_override_constants/margin_right = 10
|
||||||
|
theme_override_constants/margin_bottom = 10
|
||||||
|
|
||||||
|
[node name="JobsTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin" unique_id=859027615]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="JobContainer" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/JobsTab" unique_id=1821891785]
|
[node name="JobScroll" type="ScrollContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/JobsTab" unique_id=1046443254]
|
||||||
|
layout_mode = 2
|
||||||
|
horizontal_scroll_mode = 0
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/JobsTab/JobScroll" unique_id=708828708]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/margin_left = 10
|
||||||
|
theme_override_constants/margin_top = 10
|
||||||
|
theme_override_constants/margin_right = 10
|
||||||
|
theme_override_constants/margin_bottom = 10
|
||||||
|
|
||||||
|
[node name="JobContainer" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/JobsTab/JobScroll/MarginContainer" unique_id=1821891785]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/separation = 8
|
||||||
|
|
||||||
[node name="ShopTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn" unique_id=23859514]
|
[node name="ShopTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin" unique_id=23859514]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_vqjbf")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab" unique_id=1098619767]
|
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab" unique_id=1098619767]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="ShopTabSwitcher" type="MarginContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer" unique_id=40136169]
|
[node name="ShopTabSwitcher" type="MarginContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer" unique_id=40136169]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/margin_left = 10
|
theme_override_constants/margin_left = 10
|
||||||
theme_override_constants/margin_top = 10
|
theme_override_constants/margin_top = 10
|
||||||
|
|
@ -183,33 +211,50 @@ theme_override_constants/margin_right = 10
|
||||||
theme_override_constants/margin_bottom = 10
|
theme_override_constants/margin_bottom = 10
|
||||||
script = ExtResource("14_vqjbf")
|
script = ExtResource("14_vqjbf")
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher" unique_id=1669205646]
|
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher" unique_id=1669205646]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="PrintersButton" type="Button" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer" unique_id=96323903]
|
[node name="PrintersButton" type="Button" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer" unique_id=96323903]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Printers"
|
text = "Printers"
|
||||||
|
|
||||||
[node name="FilamentsButton" type="Button" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer" unique_id=659653173]
|
[node name="FilamentsButton" type="Button" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer" unique_id=659653173]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
text = "Filaments"
|
text = "Filaments"
|
||||||
|
|
||||||
[node name="Printers" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer" unique_id=1896524960]
|
[node name="Printers" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer" unique_id=1896524960]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
script = ExtResource("15_vqjbf")
|
script = ExtResource("15_vqjbf")
|
||||||
printers_array = Array[ExtResource("16_rdojl")]([ExtResource("17_llrls"), ExtResource("18_8rt22"), ExtResource("19_1ohgd")])
|
printers_array = Array[ExtResource("16_rdojl")]([ExtResource("17_llrls"), ExtResource("18_8rt22"), ExtResource("19_1ohgd")])
|
||||||
|
|
||||||
[node name="PrinterList" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/Printers" unique_id=474412195]
|
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/Printers" unique_id=1757920718]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
horizontal_scroll_mode = 0
|
||||||
|
|
||||||
[node name="Filaments" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer" unique_id=1891341317]
|
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/Printers/ScrollContainer" unique_id=64943590]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_constants/margin_left = 10
|
||||||
|
theme_override_constants/margin_top = 10
|
||||||
|
theme_override_constants/margin_right = 10
|
||||||
|
theme_override_constants/margin_bottom = 10
|
||||||
|
|
||||||
|
[node name="PrinterList" type="VBoxContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/Printers/ScrollContainer/MarginContainer" unique_id=474412195]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
theme_override_constants/separation = 8
|
||||||
|
|
||||||
|
[node name="Filaments" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer" unique_id=1891341317]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="MenuTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn" unique_id=526907583]
|
[node name="MenuTab" type="PanelContainer" parent="VBoxContainer/MainArea/RightColumn/MainMargin" unique_id=526907583]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -223,7 +268,7 @@ autostart = true
|
||||||
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/JobsTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_jobs_tab_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/JobsTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_jobs_tab_button_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/ShopTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_shop_tab_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/ShopTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_shop_tab_button_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/MenuTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_menu_tab_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/TabSwitcher/TabButtons/MenuTabButton" to="VBoxContainer/MainArea/RightColumn/TabSwitcher" method="_on_menu_tab_button_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer/PrintersButton" to="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher" method="_on_printers_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer/PrintersButton" to="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher" method="_on_printers_button_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer/FilamentsButton" to="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/ShopTabSwitcher" method="_on_filaments_button_pressed"]
|
[connection signal="pressed" from="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher/HBoxContainer/FilamentsButton" to="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/ShopTabSwitcher" method="_on_filaments_button_pressed"]
|
||||||
[connection signal="printer_purchase_requested" from="VBoxContainer/MainArea/RightColumn/ShopTab/VBoxContainer/Printers" to="." method="_on_printers_printer_purchase_requested"]
|
[connection signal="printer_purchase_requested" from="VBoxContainer/MainArea/RightColumn/MainMargin/ShopTab/VBoxContainer/Printers" to="." method="_on_printers_printer_purchase_requested"]
|
||||||
[connection signal="timeout" from="JobSpawner" to="." method="_on_job_spawner_timeout"]
|
[connection signal="timeout" from="JobSpawner" to="." method="_on_job_spawner_timeout"]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue