123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- extends Control
-
- onready var panel := $MarginContainer/Panel
- onready var background := $Background
- onready var tween := $Tween
-
- var animation_speed = 0.4
-
- func load_main_menu():
- Transit.change_scene("res://scenes/MainMenu.tscn", 0.5)
-
-
- func pause():
- if not get_tree().paused:
- get_tree().paused = true
- show()
- tween.stop_all()
- tween.interpolate_property(background, "modulate", null, Color(1, 1, 1, 1), 2*animation_speed/3, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT)
- tween.interpolate_property(panel, "modulate", null, Color(1, 1, 1, 1), animation_speed, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT)
- tween.start()
-
-
- func unpause():
- if get_tree().paused:
- get_tree().paused = false
- tween.stop_all()
- tween.interpolate_property(background, "modulate", null, Color(1, 1, 1, 0), animation_speed/2, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT)
- tween.interpolate_property(panel, "modulate", null, Color(1, 1, 1, 0), animation_speed/2, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT)
- tween.start()
-
-
- func _ready():
- panel.modulate = Color(1, 1, 1, 0)
- background.modulate = Color(1, 1, 1, 0)
- connect("gui_input", self, '_on_gui_input')
- tween.connect("tween_all_completed", self, "_on_Tween_tween_all_completed")
-
-
- func _input(event: InputEvent):
- if event.is_action_pressed("ui_cancel") and visible:
- unpause()
- get_tree().set_input_as_handled()
- elif event.is_action_pressed("ui_cancel") and not visible:
- pause()
- get_tree().set_input_as_handled()
-
-
- func _on_BackgroundButton_pressed():
- unpause()
-
-
- func _on_ContinueButton_pressed():
- unpause()
-
-
- func _on_MenuButton_pressed():
- unpause()
- load_main_menu()
-
-
- func _on_Tween_tween_all_completed():
- if panel.modulate == Color(1, 1, 1, 0):
- hide()
|