mirror of
				https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
				synced 2025-11-04 08:35:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
extends Control
 | 
						|
 | 
						|
signal full_run_selected
 | 
						|
signal level_run_selected
 | 
						|
signal cancelled
 | 
						|
 | 
						|
var selected := 0
 | 
						|
 | 
						|
var active := false
 | 
						|
 | 
						|
func open() -> void:
 | 
						|
	setup_visuals()
 | 
						|
	[$PanelContainer/VBoxContainer/HBoxContainer/Full, $PanelContainer/VBoxContainer/HBoxContainer/Level][selected].grab_focus()
 | 
						|
	show()
 | 
						|
	await get_tree().process_frame
 | 
						|
	active = true
 | 
						|
 | 
						|
func close() -> void:
 | 
						|
	hide()
 | 
						|
	active = false
 | 
						|
 | 
						|
func _process(_delta: float) -> void:
 | 
						|
	if active:
 | 
						|
		if Input.is_action_just_pressed("ui_accept"):
 | 
						|
			[full_run_selected, level_run_selected][selected].emit()
 | 
						|
			Global.current_game_mode = [Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE][selected]
 | 
						|
			close()
 | 
						|
		elif Input.is_action_just_pressed("ui_back"):
 | 
						|
			close()
 | 
						|
			cancelled.emit()
 | 
						|
		if Input.is_action_just_pressed("ui_left"):
 | 
						|
			selected -= 1
 | 
						|
		if Input.is_action_just_pressed("ui_right"):
 | 
						|
			selected += 1
 | 
						|
		selected = clamp(selected, 0, 1)
 | 
						|
		%MarathonName.text = ["MARATHON_FULL", "MARATHON_LEVEL"][selected]
 | 
						|
		for i in [$PanelContainer/VBoxContainer/HBoxContainer/Full, $PanelContainer/VBoxContainer/HBoxContainer/Level]:
 | 
						|
			i.get_node("Label").visible = selected == i.get_index()
 | 
						|
 | 
						|
func setup_visuals() -> void:
 | 
						|
	if SpeedrunHandler.marathon_best_warpless_time <= 0:
 | 
						|
		%FullRunPB.text = "--:--:--"
 | 
						|
	else:
 | 
						|
		%FullRunPB.text = SpeedrunHandler.gen_time_string(SpeedrunHandler.format_time(SpeedrunHandler.marathon_best_warpless_time))
 | 
						|
		
 | 
						|
	if SpeedrunHandler.marathon_best_any_time <= 0:
 | 
						|
		%WarpedRunPB.text = "--:--:--"
 | 
						|
	else:
 | 
						|
		%WarpedRunPB.text = SpeedrunHandler.gen_time_string(SpeedrunHandler.format_time(SpeedrunHandler.marathon_best_any_time))
 | 
						|
 | 
						|
	for i in %FullMedals.get_children():
 | 
						|
		i.get_node("Full").visible = SpeedrunHandler.marathon_best_warpless_time <= SpeedrunHandler.GOLD_WARPLESS_TIMES[Global.current_campaign] * SpeedrunHandler.MEDAL_CONVERSIONS[i.get_index()] and SpeedrunHandler.marathon_best_warpless_time > 0
 | 
						|
	for i in %WarpedMedals.get_children():
 | 
						|
		i.get_node("Full").visible = SpeedrunHandler.marathon_best_any_time <= SpeedrunHandler.GOLD_ANY_TIMES[Global.current_campaign] * SpeedrunHandler.MEDAL_CONVERSIONS[i.get_index()] and SpeedrunHandler.marathon_best_any_time > 0
 |