From f58d007962b0a8d88c92b5e8c663dc09515f09ee Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 9 Oct 2025 15:30:00 +0200 Subject: Hide server hints behind the camera (close #440) --- client/gui/overlays/popup_message/popup_message.gd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'client') diff --git a/client/gui/overlays/popup_message/popup_message.gd b/client/gui/overlays/popup_message/popup_message.gd index 4ea5aa2f..47ad6088 100644 --- a/client/gui/overlays/popup_message/popup_message.gd +++ b/client/gui/overlays/popup_message/popup_message.gd @@ -29,10 +29,13 @@ var positional_messages = {} func _process(_delta: float): for pos: Vector2 in positional_messages.keys(): + var camera: Camera3D = get_viewport().get_camera_3d() var msg: PositionalMessage = positional_messages[pos] var pos_3d = Vector3(pos.x + 0.5, 1.5, pos.y + 0.5) - var pos_2d = get_viewport().get_camera_3d().unproject_position(pos_3d) - + var pos_2d = camera.unproject_position(pos_3d) + var behind = camera.is_position_behind(pos_3d) + + msg.node_2d.visible = not behind msg.node_2d.position = pos_2d.clamp( Vector2.ZERO + 0.5 * msg.node.size, Vector2(get_viewport_rect().size) - 0.5 * msg.node.size -- cgit v1.3