From e921b4212142619d9a16e491cf06f133530fdbe3 Mon Sep 17 00:00:00 2001 From: tpart Date: Thu, 19 Sep 2024 14:45:21 +0200 Subject: Clamp positional messages within the viewport rect --- client/menu/popup_message/popup_message.gd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'client') diff --git a/client/menu/popup_message/popup_message.gd b/client/menu/popup_message/popup_message.gd index 055d4ab3..3047eb72 100644 --- a/client/menu/popup_message/popup_message.gd +++ b/client/menu/popup_message/popup_message.gd @@ -58,7 +58,9 @@ func _ready(): func _process(delta: float): if server_msg_positional.visible: var pos_3d = Vector3(server_message_position.x + 0.5, 1.5, server_message_position.y + 0.5) - server_msg_positional.position = get_viewport().get_camera_3d().unproject_position(pos_3d) + var pos_2d = get_viewport().get_camera_3d().unproject_position(pos_3d) + server_msg_positional.position = pos_2d.clamp(Vector2.ZERO, Vector2(get_viewport_rect().size)) + if server_msg_positional_panel.size != last_server_message_panel_size: last_server_message_panel_size = server_msg_positional_panel.size server_msg_positional_panel.position = -0.5 * last_server_message_panel_size -- cgit v1.2.3-70-g09d2