25 lines
407 B
GDScript
25 lines
407 B
GDScript
extends Area3D
|
|
class_name VoleDetector
|
|
|
|
signal on
|
|
signal off
|
|
|
|
var intersect_count := 0
|
|
|
|
func _on_area_entered(area: Area3D) -> void:
|
|
if area is not VoleDetector:
|
|
return
|
|
if intersect_count == 0:
|
|
on.emit()
|
|
intersect_count += 1
|
|
|
|
|
|
func _on_area_exited(area: Area3D) -> void:
|
|
if area is not VoleDetector:
|
|
return
|
|
intersect_count -= 1
|
|
if intersect_count == 0:
|
|
off.emit()
|
|
|
|
func vole():
|
|
return owner
|