Files
2025-09-13 16:30:32 +01:00

19 lines
495 B
GDScript

class_name OffScreenDespawner
extends Node
var can_despawn := false
func _ready() -> void:
can_despawn = false
await get_tree().create_timer(0.5, false).timeout
can_despawn = true
func on_screen_exited() -> void:
if Global.level_editor != null:
if Global.level_editor.current_state == LevelEditor.EditorState.PLAYTESTING or Global.current_game_mode == Global.GameMode.CUSTOM_LEVEL:
await get_tree().physics_frame
if can_despawn:
owner.queue_free()
else:
owner.queue_free()