Files
tgcc/core/splash_screen/splash_screen.gd

30 lines
1.0 KiB
GDScript

extends Control
@export var main_menu_scene: PackedScene
@export var initial_delay: float = 0.5
@export var logo_fade_in_time: float = 1.0
@export var logo_display_time: float = 2.0
@export var logo_fade_out_time: float = 1.0
@export var black_screen_delay: float = 0.5
@onready var logo: Sprite2D = $ColorRect/JMPLogo
func _ready() -> void:
logo.modulate.a = 0.0
await get_tree().create_timer(initial_delay).timeout
var tween_in := create_tween()
tween_in.tween_property(logo, "modulate:a", 1.0, logo_fade_in_time).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_OUT)
await tween_in.finished
await get_tree().create_timer(logo_display_time).timeout
var tween_out := create_tween()
tween_out.tween_property(logo, "modulate:a", 0.0, logo_fade_out_time).set_trans(Tween.TRANS_SINE).set_ease(Tween.EASE_IN)
await tween_out.finished
# Aspetta lo schermo nero prima di caricare il menu principale
await get_tree().create_timer(black_screen_delay).timeout
SceneManager.change_scene_with_standard_fade(SceneConfig.SceneName.MAIN_MENU, true)