Blobby/src/UserInterface/Screens/HUD.gd

54 lines
1.6 KiB
GDScript

extends Control
# Smart ist es die notwendigen Resourcen vor dem Skriptstart zu laden
onready var current_scene := get_tree().get_current_scene()
onready var pause_overlay: ColorRect = $HUDOverlay
onready var timer: Label = $HUDOverlay/GetBackTimer
onready var currency: Label = $HUDOverlay/Currency
onready var kills: Label = $HUDOverlay/Kills
onready var frees: Label = $HUDOverlay/Frees
onready var levelState := get_tree().root.get_child(1).get_node("%LevelState")
onready var signalManager := get_tree().root.get_child(1).get_node("%SignalManager")
func _ready():
#TODO Connect what HOW?
signalManager.connect("currency_updated", self, "update_interface")
signalManager.connect("kills_updated", self, "update_interface")
signalManager.connect("frees_updated", self, "update_interface")
signalManager.connect("terminal_activated", self, "_on_SignalManager_terminal_activated")
update_interface()
func _process(delta):
if timer.visible:
timer.text = String(round($HUDOverlay/GetBackTimer/Timer.time_left))
func start_timer():
timer.visible = true
$HUDOverlay/GetBackTimer/Timer.start()
$HUDOverlay/GetBackTimer/AnimationPlayer.play("Redlight")
_zoom_timer()
func _zoom_timer() -> void:
var tween := create_tween()
tween.tween_property(timer, "rect_scale", Vector2(1,1), 1.0)
func update_interface() -> void:
var wallet = GlobalState.wallet + levelState.currency
currency.text = "Wallet: %s Orbicles" % wallet
kills.text = "Kills: %s" % levelState.kills
frees.text = "Freed: %s" % levelState.frees
func _on_SignalManager_terminal_activated() -> void:
start_timer()
func _on_Timer_timeout():
pass # Replace with function body.