tool extends Node2D export (PackedScene) var scene export (Rect2) var extents setget _set_extents export var delay = 1.0 func _ready(): if !Engine.editor_hint: get_tree().create_timer(delay, false).connect("timeout", self, "spawn") func spawn(): var node = scene.instance() node.position.x = rand_range(extents.position.x, extents.end.x) node.position.y = rand_range(extents.position.y, extents.end.y) add_child(node) get_tree().create_timer(delay, false).connect("timeout", self, "spawn") func _draw(): if Engine.editor_hint: draw_rect(extents, Color.thistle, false, 1.0) func _set_extents(value): extents = value update()