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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user