extends Node @onready var menu_text = $Title @onready var control_ui = $Vignette @onready var root = self signal main_menu_interacted var input_received = false func _input(event): if input_received: return if event is InputEventKey or event is InputEventMouseButton: input_received = true control_ui.visible = false replace_with_falling_body(menu_text) emit_signal("main_menu_interacted") func replace_with_falling_body(node: Node2D): var global_pos = node.global_position var body := RigidBody2D.new() body.gravity_scale = 1 body.position = global_pos body.global_position = global_pos var shape := CollisionShape2D.new() var rect_shape := RectangleShape2D.new() rect_shape.extents = Vector2(20, 20) shape.shape = rect_shape body.add_child(shape) var parent = node.get_parent() parent.remove_child(node) body.add_child(node) node.position = Vector2.ZERO root.add_child(body) var x_force = randf_range(-300.0, 300.0) var y_force = randf_range(400.0, -100.0) body.apply_impulse(Vector2(x_force, y_force))