simplify button depth logic

master
Fabien Freling 2020-06-08 19:09:54 +02:00
parent 3369c37a00
commit 26c2272c1b
1 changed files with 9 additions and 7 deletions

View File

@ -91,22 +91,24 @@ func set_pressed(value: bool) -> void:
# Signals
#
func _on_Button_button_down():
button.rect_position.y += depth - _pressed_depth
button.rect_position.y = depth - _pressed_depth
emit_signal("button_down")
func _on_Button_button_up():
button.rect_position.y -= depth - _pressed_depth
if _toggled:
button.rect_position.y = depth - _toggled_depth
else:
button.rect_position.y = 0
emit_signal("button_up")
func _on_Button_toggled(button_pressed):
if _toggled == button_pressed:
return
var delta = depth - _toggled_depth
if (not _toggled) and button_pressed: # off -> on
button.rect_position.y += depth - _toggled_depth
elif _toggled and (not button_pressed): # on -> off
button.rect_position.y -= depth - _toggled_depth
if button_pressed:
button.rect_position.y = depth - _toggled_depth
else:
button.rect_position.y = 0
_toggled = button_pressed
emit_signal("toggled", _toggled)