Ok, so I have a lever that I use to remove blockades in my game. The problem is when I activate the lever in level 1 it works fine, but if I instance the lever into any other level it doesn't recognize the mouse click or even a mouse entering the area 2d.
Here is my lever code:
extends Node2D
signal lever_pulled;
var pulled = false
func _ready():
get_node("Button").hide();
func _on_Area2D_body_entered(body):
if(body is Player):
show_button();
func _on_Area2D_body_exited(body):
if(body is Player):
hide_button();
func show_button():
get_node("AnimationPlayer").play("ShowButton");
func hide_button():
get_node("AnimationPlayer").play("HideButton");
func pull():
if(pulled):
get_node("Normal").show();
get_node("Pulled").hide();
pulled = false;
emit_signal("lever_pulled", false);
else:
get_node("Normal").hide();
get_node("Pulled").show();
pulled = true;
emit_signal("lever_pulled", true);
func _on_Button_input_event(viewport, event, shape_idx):
if(event is InputEventMouseButton && event.pressed):
print("click")
pull();
func _on_Button_mouse_entered() -> void:
print("mouse")
pull();
The scene tree looks like this:
