Files

18 lines
560 B
GDScript

extends Node
var refs: Array[WeakRef] = []
func _ready() -> void: call_deferred("run")
func run() -> void:
for i in 8: create_material(i)
for i in 10: await get_tree().process_frame
RenderingServer.force_sync()
var alive := 0
for reference in refs:
if reference.get_ref() != null: alive += 1
print("ISOLATED_PARTICLE_EXIT alive=", alive)
get_tree().quit(1 if alive else 0)
func create_material(index: int) -> void:
var material := ParticleProcessMaterial.new()
material.emission_shape = index % 3
material.get_rid()
refs.append(weakref(material))