extends Node2D @export_category("Rain") @export var cooldown := 0.2 @export_category("RainDrop") @export var speed := 10.0 @export var lifetime := 3.0 @export var trail_lifetime := 1.0 @export var overall_scale := 1.0 var time := 0.0 var rain_drop_packed := preload("res://VFX/pixel_drop.tscn") func _physics_process(delta: float) -> void: if time >= cooldown: make_it_rain() time = 0.0 time += delta func make_it_rain() -> void: var rain_drop : RainDrop = rain_drop_packed.instantiate() var screen_width = get_viewport().get_camera_2d().position.x + get_viewport().size.x/2 var screen_height = get_viewport().get_camera_2d().position.y - get_viewport().size.y/2 - 100 #Offset rain_drop.speed = speed rain_drop.lifetime = lifetime rain_drop.trail_lifetime = trail_lifetime rain_drop.overall_scale = overall_scale add_child(rain_drop) rain_drop.global_position = Vector2(randi_range(-screen_width,screen_width), screen_height)