NS-19: auto-clear move reject label after 4s

pull/21/head
VinPropane 2026-04-04 23:49:14 -04:00
parent 7ac6b66b51
commit 7fffc3137a
1 changed files with 12 additions and 0 deletions

View File

@ -10,6 +10,10 @@ extends Node3D
@onready var _radius_preview: Node3D = $World/InteractionMarkers
@onready var _move_reject_label: Label = $UICanvas/MoveRejectLabel
## Bump on each rejection so older one-shot timers do not clear a newer message.
var _move_reject_msg_token: int = 0
const MOVE_REJECT_MSG_SECONDS: float = 4.0
func _ready() -> void:
_ground_pick.set("fallback_camera", _camera)
@ -33,4 +37,12 @@ func _on_authoritative_position(world: Vector3) -> void:
func _on_move_rejected(reason_code: String) -> void:
push_warning("Move rejected: %s" % reason_code)
_move_reject_msg_token += 1
var token: int = _move_reject_msg_token
_move_reject_label.text = "Move rejected: %s" % reason_code
get_tree().create_timer(MOVE_REJECT_MSG_SECONDS).timeout.connect(
func():
if token == _move_reject_msg_token:
_move_reject_label.text = "",
CONNECT_ONE_SHOT
)