25 lines
592 B
GDScript
25 lines
592 B
GDScript
extends Area3D
|
|
class_name DynRoom
|
|
|
|
@export var processWhileUnloaded = false
|
|
@export var loadedOnReady = false
|
|
|
|
func _ready() -> void:
|
|
connect("body_entered", entered)
|
|
connect("body_exited", exited)
|
|
self.disable_mode=CollisionObject3D.DISABLE_MODE_KEEP_ACTIVE
|
|
self.collision_layer=0
|
|
self.collision_mask=2
|
|
if not loadedOnReady:
|
|
exited(self)
|
|
|
|
func entered(body: Node3D) -> void:
|
|
visible=true
|
|
if not processWhileUnloaded:
|
|
process_mode=Node.PROCESS_MODE_INHERIT
|
|
|
|
func exited(body: Node3D) -> void:
|
|
visible=false
|
|
if not processWhileUnloaded:
|
|
process_mode=Node.PROCESS_MODE_DISABLED
|