OpticTraveler/Nikita/scripts/balloonfest.gd

60 lines
1.4 KiB
GDScript3
Raw Normal View History

2025-09-18 14:35:48 +02:00
extends Node3D
var paused = false
2025-09-18 17:49:57 +02:00
var finished = false
2025-09-18 14:35:48 +02:00
var main_scene : PackedScene
func _ready() -> void:
$PauseMenu.hide()
$PauseMenu.resume.connect(_on_resume_button_pressed)
$PauseMenu.main_menu.connect(_on_menu_button_pressed)
2025-09-18 17:49:57 +02:00
$FinishScreen.hide()
$FinishScreen.retry.connect(_on_retry_button_pressed)
$FinishScreen.exit.connect(_on_exit_button_pressed)
2025-09-18 14:35:48 +02:00
main_scene = load("res://Nikita/hub_scene.tscn")
func _process(delta: float) -> void:
2025-09-18 17:49:57 +02:00
if Input.is_action_just_pressed("take_picture"):
2025-09-19 11:13:31 +02:00
await PictureTakeablesArray.calcualtion_finished
2025-09-18 17:49:57 +02:00
finish()
2025-09-18 14:35:48 +02:00
if Input.is_action_just_pressed("pause"):
pause_menu()
func pause_menu():
if paused:
$PauseMenu.hide()
2025-09-18 17:49:57 +02:00
get_tree().paused = false
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
2025-09-18 14:35:48 +02:00
else:
$PauseMenu.show()
2025-09-18 17:49:57 +02:00
get_tree().paused = true
2025-09-18 14:35:48 +02:00
paused = !paused
2025-09-18 17:49:57 +02:00
func finish():
if finished:
$FinishScreen.hide()
get_tree().paused = false
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
else:
$FinishScreen.show()
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
get_tree().paused = true
finished = !finished
2025-09-18 14:35:48 +02:00
func _on_resume_button_pressed():
pause_menu()
func _on_menu_button_pressed():
pause_menu()
get_tree().change_scene_to_packed(main_scene)
2025-09-18 17:49:57 +02:00
func _on_retry_button_pressed():
finish()
2025-09-19 11:13:31 +02:00
PictureTakeablesArray.picture_takables.clear()
PictureTakeablesArray.picture_spots.clear()
2025-09-18 17:49:57 +02:00
get_tree().reload_current_scene()
func _on_exit_button_pressed():
finish()
get_tree().change_scene_to_packed(main_scene)