delete files in nickes
This commit is contained in:
@@ -3,32 +3,46 @@ extends CanvasLayer
|
||||
# Level Complete UI - Shows stats when level is completed
|
||||
|
||||
var title_label: Label = null
|
||||
var stats_header_label: Label = null
|
||||
var enemies_label: Label = null
|
||||
var time_label: Label = null
|
||||
var downed_label: Label = null
|
||||
var exp_label: Label = null
|
||||
var coins_label: Label = null
|
||||
|
||||
func _ready():
|
||||
visible = false
|
||||
_find_labels()
|
||||
|
||||
func _find_labels():
|
||||
# Find labels (works for both scene-based and programmatically created UI)
|
||||
var vbox = get_child(0) if get_child_count() > 0 else null
|
||||
if vbox:
|
||||
for child in vbox.get_children():
|
||||
if child is Label and child.text == "LEVEL COMPLETE!":
|
||||
title_label = child
|
||||
elif child.name == "EnemiesLabel":
|
||||
enemies_label = child
|
||||
elif child.name == "DownedLabel":
|
||||
downed_label = child
|
||||
elif child.name == "ExpLabel":
|
||||
exp_label = child
|
||||
elif child.name == "CoinsLabel":
|
||||
coins_label = child
|
||||
if child is Label:
|
||||
# Check by name first (more reliable)
|
||||
if child.name == "TitleLabel" or (title_label == null and (child.text == "LEVEL COMPLETE!" or child.text.begins_with("LEVEL"))):
|
||||
title_label = child
|
||||
elif child.name == "StatsHeaderLabel" or (stats_header_label == null and child.text == "stats"):
|
||||
stats_header_label = child
|
||||
# Check by name for other labels
|
||||
elif child.name == "EnemiesLabel":
|
||||
enemies_label = child
|
||||
elif child.name == "TimeLabel":
|
||||
time_label = child
|
||||
elif child.name == "DownedLabel":
|
||||
downed_label = child
|
||||
elif child.name == "ExpLabel":
|
||||
exp_label = child
|
||||
elif child.name == "CoinsLabel":
|
||||
coins_label = child
|
||||
elif child is VBoxContainer:
|
||||
# Stats container
|
||||
for stat_child in child.get_children():
|
||||
if stat_child.name == "EnemiesLabel":
|
||||
enemies_label = stat_child
|
||||
elif stat_child.name == "TimeLabel":
|
||||
time_label = stat_child
|
||||
elif stat_child.name == "DownedLabel":
|
||||
downed_label = stat_child
|
||||
elif stat_child.name == "ExpLabel":
|
||||
@@ -36,22 +50,48 @@ func _ready():
|
||||
elif stat_child.name == "CoinsLabel":
|
||||
coins_label = stat_child
|
||||
|
||||
func show_stats(enemies_defeated: int, times_downed: int, exp_collected: float, coins_collected: int):
|
||||
func show_stats(enemies_defeated: int, times_downed: int, exp_collected: float, coins_collected: int, level_time: float, level_number: int = 1):
|
||||
# Ensure labels are found (in case _ready() hasn't run yet)
|
||||
_find_labels()
|
||||
|
||||
# Update labels
|
||||
if title_label:
|
||||
title_label.text = "LEVEL COMPLETE!"
|
||||
title_label.text = "LEVEL " + str(level_number) + " COMPLETE!"
|
||||
else:
|
||||
print("LevelCompleteUI: WARNING - title_label not found!")
|
||||
|
||||
if stats_header_label:
|
||||
stats_header_label.text = "stats"
|
||||
|
||||
if enemies_label:
|
||||
enemies_label.text = "Enemies Defeated: " + str(enemies_defeated)
|
||||
enemies_label.text = "Enemies defeated: " + str(enemies_defeated)
|
||||
enemies_label.visible = true
|
||||
else:
|
||||
print("LevelCompleteUI: WARNING - enemies_label not found!")
|
||||
|
||||
# Format level time as MM:SS
|
||||
if time_label:
|
||||
var minutes = int(level_time) / 60
|
||||
var seconds = int(level_time) % 60
|
||||
time_label.text = "Finish time: %02d:%02d" % [minutes, seconds]
|
||||
time_label.visible = true
|
||||
else:
|
||||
print("LevelCompleteUI: WARNING - time_label not found!")
|
||||
|
||||
# Hide labels that are not needed (per user request: only show enemies, coins, and time)
|
||||
if downed_label:
|
||||
downed_label.visible = false
|
||||
downed_label.text = "Times Downed: " + str(times_downed)
|
||||
|
||||
if exp_label:
|
||||
exp_label.visible = false
|
||||
exp_label.text = "EXP Collected: " + str(int(exp_collected))
|
||||
|
||||
if coins_label:
|
||||
coins_label.text = "Coins Collected: " + str(coins_collected)
|
||||
coins_label.text = "Coins collected: " + str(coins_collected)
|
||||
coins_label.visible = true
|
||||
else:
|
||||
print("LevelCompleteUI: WARNING - coins_label not found!")
|
||||
|
||||
# Show UI
|
||||
visible = true
|
||||
@@ -68,9 +108,15 @@ func show_stats(enemies_defeated: int, times_downed: int, exp_collected: float,
|
||||
if title_label:
|
||||
title_label.modulate.a = 0.0
|
||||
fade_in.tween_property(title_label, "modulate:a", 1.0, 0.5)
|
||||
if stats_header_label:
|
||||
stats_header_label.modulate.a = 0.0
|
||||
fade_in.tween_property(stats_header_label, "modulate:a", 1.0, 0.5)
|
||||
if enemies_label:
|
||||
enemies_label.modulate.a = 0.0
|
||||
fade_in.tween_property(enemies_label, "modulate:a", 1.0, 0.5)
|
||||
if time_label:
|
||||
time_label.modulate.a = 0.0
|
||||
fade_in.tween_property(time_label, "modulate:a", 1.0, 0.5)
|
||||
if downed_label:
|
||||
downed_label.modulate.a = 0.0
|
||||
fade_in.tween_property(downed_label, "modulate:a", 1.0, 0.5)
|
||||
|
||||
Reference in New Issue
Block a user