Made particles emit from resource
This commit is contained in:
37
data/buildings/basic/harvester/harvester_particles.gd
Normal file
37
data/buildings/basic/harvester/harvester_particles.gd
Normal file
@@ -0,0 +1,37 @@
|
||||
extends Node2D
|
||||
|
||||
var _pickup
|
||||
|
||||
var _distance
|
||||
var _direction
|
||||
var _emitters: Array[CPUParticles2D] = []
|
||||
|
||||
func init(distance: float, direction: Vector2, res: GameResource) -> void:
|
||||
_distance = distance
|
||||
_direction = direction
|
||||
_pickup = res
|
||||
|
||||
func _ready() -> void:
|
||||
if _emitters.size() < 10:
|
||||
var particles = CPUParticles2D.new()
|
||||
particles.amount = 8
|
||||
particles.spread = 8
|
||||
particles.material = ParticleProcessMaterial.new()
|
||||
particles.radial_accel_max = _distance * -2.5
|
||||
particles.radial_accel_min = _distance * -2.55
|
||||
particles.gravity = Vector2.ZERO
|
||||
particles.direction = _direction
|
||||
particles.initial_velocity_max = _distance * 2.25
|
||||
particles.initial_velocity_min = _distance * 2.2
|
||||
particles.lifetime = 1.65
|
||||
add_child(particles)
|
||||
_emitters.append(particles)
|
||||
else:
|
||||
for i in range(1, _emitters.size()):
|
||||
_emitters[i].queue_free()
|
||||
_emitters.resize(1)
|
||||
ResourceManager.pickup(_pickup)
|
||||
|
||||
|
||||
func _on_particles_timer_timeout() -> void:
|
||||
_ready()
|
||||
Reference in New Issue
Block a user