Files
seeding-planets/entities/interactables/item_object/script/item_object_sprite.gd

27 lines
891 B
GDScript

extends Node2D
class_name ItemObjectSprite
@onready var icon_sprite = $Icon
const PARTICLES_SCENE : PackedScene = preload("res://common/vfx/particles/effect_particles.tscn")
func apply_texture_to_sprite(texture, item_sprite_size = 50.):
if texture:
icon_sprite.texture = texture
icon_sprite.scale = Vector2(
1./(texture.get_width()/item_sprite_size),
1./(texture.get_height()/item_sprite_size)
)
func generate_particles(particles_params : Array[EffectParticles.Parameters]):
for c in get_children():
if c is EffectParticles: queue_free()
for params in particles_params:
var particles_emitter : EffectParticles = PARTICLES_SCENE.instantiate() as EffectParticles
particles_emitter.setup_particles(params)
add_child(particles_emitter)
func pickup_animation():
%AnimationPlayer.play("pickup")