mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-25 07:25:38 +00:00
Bored state
This commit is contained in:
parent
27d150d466
commit
96965a704a
|
@ -3,62 +3,72 @@ extends MarginContainer
|
|||
var press_time: float = 0.0
|
||||
var is_state_pressed: bool = false
|
||||
var PRESS_DURATION: float = 3.0
|
||||
var current_button: Button = null
|
||||
var current_progress: ProgressBar = null
|
||||
var current_state: String = ""
|
||||
|
||||
func _ready():
|
||||
_connect_signals()
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)
|
||||
update_progress(delta, %border_progress, %border_button, class_functions.border_state)
|
||||
update_progress(delta, %widescreen_progress, %widescreen_button, class_functions.widescreen_state)
|
||||
update_progress(delta, %quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)
|
||||
if current_button != null:
|
||||
update_progress(delta, current_progress)
|
||||
|
||||
func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void:
|
||||
func update_progress(delta: float, progress: ProgressBar) -> void:
|
||||
if press_time >= PRESS_DURATION:
|
||||
#_do_complete(button)
|
||||
print ("Progress Bar: %s Button: %s" % [progress.name, button.name])
|
||||
press_time = 0.0
|
||||
is_state_pressed = false
|
||||
progress.value = 0.0
|
||||
elif is_state_pressed and state == "mixed":
|
||||
_do_complete(current_button)
|
||||
print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name])
|
||||
elif is_state_pressed and current_state == "mixed":
|
||||
press_time += delta
|
||||
progress.value = press_time / PRESS_DURATION * 100.0
|
||||
|
||||
func _connect_signals():
|
||||
%quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume"))
|
||||
%button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress))
|
||||
%button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress, %button_swap_button))
|
||||
%button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress))
|
||||
%button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap"))
|
||||
%ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress))
|
||||
%ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress, %ask_to_exit_button))
|
||||
%ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress))
|
||||
%ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit"))
|
||||
%border_button.button_down.connect(_do_action.bind(%border_progress))
|
||||
%border_button.button_down.connect(_do_action.bind(%border_progress, %border_button))
|
||||
%border_button.button_up.connect(_on_button_released.bind(%border_progress))
|
||||
%border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders"))
|
||||
%widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress))
|
||||
%widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress, %widescreen_button))
|
||||
%widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress))
|
||||
%widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen"))
|
||||
%quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress))
|
||||
%quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button))
|
||||
%quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress))
|
||||
%quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind"))
|
||||
|
||||
func _on_button_released(progress: ProgressBar) -> void:
|
||||
print ("Release " + progress.name)
|
||||
is_state_pressed = false
|
||||
progress.visible = false
|
||||
press_time = 0.0
|
||||
progress.value = 0.0
|
||||
current_button = null
|
||||
current_progress = null
|
||||
current_state == null
|
||||
|
||||
func _do_action(progress: ProgressBar) -> void:
|
||||
print ("Action " + progress.name)
|
||||
match class_functions.button_list:
|
||||
class_functions.button_list:
|
||||
is_state_pressed = true
|
||||
progress.visible = true
|
||||
func _do_action(progress: ProgressBar, button: Button) -> void:
|
||||
match progress.name:
|
||||
"button_swap_progress":
|
||||
current_state = class_functions.abxy_state
|
||||
"ask_to_exit_progress":
|
||||
current_state = class_functions.ask_to_exit_state
|
||||
"quick_rewind_progress":
|
||||
current_state = class_functions.quick_rewind_state
|
||||
"widescreen_progress":
|
||||
current_state = class_functions.widescreen_state
|
||||
"border_progress":
|
||||
current_state = class_functions.border_state
|
||||
current_button = button
|
||||
current_progress = progress
|
||||
current_progress.visible = true
|
||||
is_state_pressed = true
|
||||
|
||||
func _do_complete(button: Button) ->void:
|
||||
#TODO use object for state
|
||||
if is_state_pressed:
|
||||
if is_state_pressed and button == current_button:
|
||||
match button.name:
|
||||
"button_swap_button":
|
||||
class_functions.abxy_state = "false"
|
||||
|
|
|
@ -289,6 +289,8 @@ func update_global(button: Button, preset: String, state: bool) -> void:
|
|||
border_state = str(state)
|
||||
result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))
|
||||
change_global(result, "build_preset_config", button, border_state)
|
||||
#if widescreen_state == "true" or widescreen_state == "mixed":
|
||||
#print ("What's up")
|
||||
"widescreen_button":
|
||||
if widescreen_state != "mixed":
|
||||
widescreen_state = str(state)
|
||||
|
|
Loading…
Reference in a new issue