aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-09 15:30:00 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-09 15:30:00 +0200
commitf58d007962b0a8d88c92b5e8c663dc09515f09ee (patch)
tree9ca0d04230211188f78aaf63153423c9048d2313 /client
parentfa6f4ab0139b443bae6cdee9980d0f70ed991b0c (diff)
downloadhurrycurry-f58d007962b0a8d88c92b5e8c663dc09515f09ee.tar
hurrycurry-f58d007962b0a8d88c92b5e8c663dc09515f09ee.tar.bz2
hurrycurry-f58d007962b0a8d88c92b5e8c663dc09515f09ee.tar.zst
Hide server hints behind the camera (close #440)
Diffstat (limited to 'client')
-rw-r--r--client/gui/overlays/popup_message/popup_message.gd7
1 files changed, 5 insertions, 2 deletions
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