add shields and tiers on ui

This commit is contained in:
2026-04-23 11:36:01 +03:00
parent bec9389bb8
commit c9489321ae
14 changed files with 163 additions and 10 deletions
+14
View File
@@ -31,6 +31,7 @@ var upgrading: bool = false
var canvas: CanvasLayer
var score_label: Label
var wave_label: Label
var tier_label: Label
var hp_bar: ColorRect
var hp_bar_bg: ColorRect
var progress_bar: ColorRect
@@ -92,6 +93,7 @@ func _process(delta: float) -> void:
camera.look_at(look_at_pos, Vector3.UP)
if Input.is_mouse_button_pressed(MOUSE_BUTTON_RIGHT):
player.set_aim_direction(deg_to_rad(cam_yaw))
_update_tier_label()
# ─── Rocks ────────────────────────────────────────────────────────────────────
@@ -339,6 +341,9 @@ func _make_hud() -> void:
progress_bg = _crect(Vector2(12, 130), Vector2(200, 10), Color(0.1, 0.1, 0.25))
progress_bar = _crect(Vector2(12, 130), Vector2(0, 10), Color(0.4, 0.8, 1.0))
# Tier display
tier_label = _label(Vector2(12, 148), "", 17)
func _make_upgrade_panel() -> void:
upgrade_panel = Panel.new()
upgrade_panel.process_mode = Node.PROCESS_MODE_ALWAYS
@@ -447,3 +452,12 @@ func _update_labels() -> void:
func _update_progress() -> void:
var t := float(kills) / float(kills_for_next)
progress_bar.size.x = 200.0 * t
func _update_tier_label() -> void:
if not is_instance_valid(player):
return
var kt: int = player.get("kick_tier")
var tt: int = player.get("toughness_tier")
var st: int = player.get("shield_tier")
var shield_str := "-" if st == 0 else str(st)
tier_label.text = "Kick: %d Tough: %d Shield: %s" % [kt, tt, shield_str]