diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-09 15:30:00 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-09 15:30:00 +0200 |
| commit | f58d007962b0a8d88c92b5e8c663dc09515f09ee (patch) | |
| tree | 9ca0d04230211188f78aaf63153423c9048d2313 /client | |
| parent | fa6f4ab0139b443bae6cdee9980d0f70ed991b0c (diff) | |
| download | hurrycurry-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.gd | 7 |
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 |