[agent:claude-cli] feat(minimap): radar circulaire 32 blocs — joueur (blanc), mobs (rouge pulsé), perles (jaune), blocs biome, orientation joueur, dessin CanvasItem natif

This commit is contained in:
2026-04-21 08:44:30 +00:00
parent 42101246d9
commit f8413ce2d4
4 changed files with 200 additions and 0 deletions

View File

@@ -41,6 +41,9 @@ var _speed_lines: Control = null
var _speed_line_data: Array = []
const SPEED_LINE_COUNT: int = 16
# Mini-map
var _mini_map: Control = null
func _ready() -> void:
_style_bar(_oxygen_bar, Color(0.31, 0.76, 0.97))
@@ -66,6 +69,7 @@ func _ready() -> void:
_build_combo_panel()
_build_boost_bar()
_build_speed_lines()
_build_mini_map()
var am: Node = get_node_or_null("/root/AchievementManager")
if am != null:
am.achievement_unlocked.connect(_on_achievement_unlocked)
@@ -603,11 +607,22 @@ func _draw_speed_lines() -> void:
_speed_lines.draw_line(start, end, col, 1.5)
func _build_mini_map() -> void:
var mm_script: Script = load("res://scripts/dolphin/MiniMap.gd")
if mm_script == null:
return
_mini_map = Control.new()
_mini_map.set_script(mm_script)
add_child(_mini_map)
func connect_to_dolphin(dolphin: CharacterBody3D) -> void:
dolphin.stats_changed.connect(_on_stats_changed)
if dolphin.has_signal("boost_changed"):
dolphin.boost_changed.connect(_on_boost_changed)
_dolphin = dolphin
if _mini_map != null and _mini_map.has_method("setup"):
_mini_map.call("setup", dolphin)
var main: Node = get_tree().get_first_node_in_group("main")
if main != null: