1
0
This repository has been archived on 2026-07-26. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
countdown-mayhem/assets/scripts/upgrade_ui.gd
T
2026-07-26 18:54:03 +02:00

48 lines
1.3 KiB
GDScript

extends Control
@onready var texture = $texture
@onready var amountLabel = $Label
@onready var progressRect = $progress
@export var imDead := false
var upgradeID := ""
var amount := 1
var timer = Globals.UPGRADE_TIMERSTART * pow(1.5, Globals.unlockedUpgrades.get("stopwatch", 0))
var goldUpgrade := false
func _ready():
if goldUpgrade:
progressRect.hide()
$goldrect.show()
timer = 999
func _process(delta: float) -> void:
if imDead and not $particles.emitting:
queue_free()
if not goldUpgrade: timer -= delta * Engine.time_scale
texture.scale += (Vector2(1, 1) - texture.scale) * 7 * delta
texture.modulate.a += (1 - texture.modulate.a) * 7 * delta
progressRect.position.x += (timer / Globals.UPGRADE_TIMERSTART * 48 - progressRect.position.x) * 5 * delta
progressRect.size.x += (48 - timer / Globals.UPGRADE_TIMERSTART * 48 - progressRect.size.x) * 5 * delta
amountLabel.text = str("x", amount)#Globals.unlockedUpgrades.get(upgradeID, -1))
if timer < 0 and not imDead:
amount -= 1
Globals.unlockedUpgrades[upgradeID] -= 1
timer = Globals.UPGRADE_TIMERSTART
if amount == 0:
#Globals.unlockedUpgrades.erase(upgradeID)
imDead = true
$texture.hide()
$progress.hide()
$Label.hide()
$goldrect.hide()
$breaksfx.play()
$particles.emitting = true