extends Control const FONT := preload("res://assets/fonts/font2.ttf") const LOW_HULL_RATIO := 0.25 var player: CharacterBody2D var _elapsed := 0.0 func _ready() -> void: mouse_filter = Control.MOUSE_FILTER_IGNORE set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) func _process(delta: float) -> void: _elapsed += delta queue_redraw() func _draw() -> void: if not is_instance_valid(player) or bool(player.get("_is_destroyed")): return var hull := float(player.get("hull")) var max_hull := maxf(1.0, float(player.get("max_hull"))) if hull / max_hull > LOW_HULL_RATIO or bool(player.get("is_docked")): return var pulse := 0.55 + 0.25 * (sin(_elapsed * TAU) + 1.0) * 0.5 var warning_color := Color(1.0, 0.32, 0.26, pulse) draw_rect(Rect2(Vector2(3, 3), size - Vector2(6, 6)), warning_color, false, 3) var warning := "NISKI KADŁUB — %d%%" % roundi(hull / max_hull * 100) draw_string(FONT, Vector2(0, 34), warning, HORIZONTAL_ALIGNMENT_CENTER, size.x, 18, warning_color)