Complete lab, quest, garrison, and energy tickets

This commit is contained in:
Loïc Wisniewski 2026-09-03 00:12:08 +02:00
commit 0f7edff15a
20 changed files with 238 additions and 45 deletions

View file

@ -143,6 +143,8 @@ func _process(delta: float) -> void:
build_menu.refresh_option_states(_planet_under_fleet())
if craft_menu.visible:
craft_menu.refresh()
if lab_menu.visible:
_refresh_lab()
if transfer_menu.visible:
transfer_menu.refresh()
if world_map.visible or _menu_is_open():
@ -592,6 +594,8 @@ func _on_lab_buy() -> void:
func _refresh_lab() -> void:
lab_menu.set_status("")
lab_menu.hide_research_progress()
var definitions: Array = VESSEL_DEFINITIONS.all()
lab_menu.render_vessels(definitions, lab_vessel)
lab_menu.vessel_heading.text = "%s research · %d RP" % [
@ -622,13 +626,16 @@ func _refresh_lab() -> void:
or not GameState.upgrade_maxed(selected.id))
if not queued.is_empty():
var queued_points: int = GameState.research_point_cost(String(queued.id))
var progress: float = float(queued.elapsed) \
/ maxf(GameState.lab_research_time(), 0.001)
if not bool(queued.started) and GameState.research_points < queued_points:
lab_menu.set_status("Need %d research point%s (have %d)" % [queued_points,
"" if queued_points == 1 else "s", GameState.research_points])
lab_menu.show_research_progress(
"Need %d research point%s (have %d)" % [queued_points,
"" if queued_points == 1 else "s", GameState.research_points], progress)
else:
lab_menu.set_status("%s %d%%" % ["Researching" if bool(queued.started)
else "Waiting for resources", int(100.0 * float(queued.elapsed)
/ maxf(GameState.lab_research_time(), 0.001))])
lab_menu.show_research_progress(
"Researching" if bool(queued.started) else "Waiting for resources",
progress)
func _on_transfer_pressed() -> void: