feat: Implement the main game scene with manager initialization, comprehensive UI setup including a dynamic message bar, tile respawn logic, and core multiplayer integration.

This commit is contained in:
Yogi Wiguna
2026-02-06 12:30:20 +08:00
parent e34a7467d0
commit b3c044e1e9
10 changed files with 1182 additions and 136 deletions
+19
View File
@@ -599,6 +599,25 @@ func sync_modulate(color: Color) -> void:
if active_char_node:
_apply_tint_recursive(active_char_node, color)
func update_rank_visuals(rank: int):
var pos_label = get_node_or_null("Position")
if not pos_label:
return
if rank <= 3:
pos_label.visible = true
if race_manager:
pos_label.text = race_manager.get_ordinal_string(rank)
else:
pos_label.text = str(rank)
match rank:
1: pos_label.modulate = Color(0.85, 0.0, 0.0) # Red
2: pos_label.modulate = Color(0.0, 0.0, 1.0) # Blue
3: pos_label.modulate = Color(1.0, 0.9, 0.0) # Yellow
else:
pos_label.visible = false
func _apply_tint_recursive(node: Node, color: Color):
if node is MeshInstance3D:
# Simple way to tint: use material_overlay with an unshaded material if possible,