extends Area3D class_name PlantSite var players_on_site: Array[int] # Called when the node enters the scene tree for the first time. func _ready() -> void: body_entered.connect(on_body_entered) body_exited.connect(on_body_exited) Session.plants.append(self) func on_body_entered(body: Node3D): if body is Player: players_on_site.append(int(body.name)) func on_body_exited(body: Node3D): if body is Player: players_on_site.erase(int(body.name)) func is_player_on_site(id: int): return players_on_site.has(id)