You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
699 B
GDScript

2 years ago
extends EffectBase
2 years ago
class_name Particle
var particle_list: Array[GPUParticles3D] = []
var particle_speed_scale_list: Array[float] = []
2 years ago
2 years ago
2 years ago
func on_ready():
for child in get_children():
if child is GPUParticles3D:
var particle: GPUParticles3D = child as GPUParticles3D
particle_list.append(particle)
particle_speed_scale_list.append(particle.speed_scale)
particle.restart()
else:
continue
if child.lifetime > lifetime:
lifetime = child.lifetime
2 years ago
func on_set_pause():
for i in range(len(particle_list)):
var particle: GPUParticles3D = particle_list[i]
var speed_scale: float = particle_speed_scale_list[i]
particle.speed_scale = 0 if is_pause else speed_scale