class_name CreditsMenu extends Control @onready var data: Data = $/root/Root/Data @onready var titleScreen: Control = $/root/Root/MainMenu/TitleScreen @onready var animationPlayer: AnimationPlayer = $"../AnimationPlayer" @onready var creditTemplate: PackedScene = load("res://Scenes/credit.tscn") @export var spawnTimer: float = 2 @export var credits: Array[Credit] var timerTarget: float = 0 var timer: float = 0 var credIndex = 0 var running: bool = false # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): if (!running): return timer += delta if (timer >= timerTarget): timer -= timerTarget var credit: CreditTemplate = creditTemplate.instantiate() credit.creditInfo = credits[credIndex] self.add_child(credit) timerTarget = 5 + (2 + credits[credIndex].description.size() + credits[credIndex].links.size()) * spawnTimer print(timerTarget) credIndex += 1 if (credIndex >= credits.size()): credIndex = 0 func _on_home_pressed(): animationPlayer.play_backwards("creditsTransition") func animFinished(s: String): if (s == "creditsTransition" && !self.visible): running = false credIndex = 0 timer = 0 timerTarget = 0 for child: Control in self.get_children(): if (!(child is CreditTemplate)): continue child.queue_free() func toggle(): running = !running