Files
seeding-planets/entities/plants/scripts/plant_sprite.gd
Zacharie Guet 83d462f2f4 changement du scene manager, amélioration du cockpit et autres
* refonte du scene manager
* refonte du audio manager
* premier rework des plantes
* nettoyage des dossiers/fichiers
* renommage de planète en region
* fix des run
2026-01-23 18:06:27 +01:00

46 lines
1.5 KiB
GDScript

extends Node2D
class_name PlantSprite
const PLANTED_SEED_CROP_WIDTH = 50
const PLANTED_SEED_POS_Y = 0
const PARTICLES_SCENE : PackedScene = preload("res://common/vfx/particles/particles.tscn")
signal harvest_animation_finished
var last_updated_on_state : PlantData.State = PlantData.State.MATURE
func update_plant_sprite(plant_data : PlantData, with_animation = false):
if with_animation:
%AnimationPlayer.play("bump")
await %AnimationPlayer.animation_finished
%Sprite.flip_h = true if plant_data.random_seed%2 == 0 else false
%Sprite.texture = plant_data.get_plant_texture()
%PlantedSeed.texture = plant_data.get_seed_texture()
%PlantedSeed.visible = plant_data.get_state() == PlantData.State.PLANTED
# %PlantedSeed.region_rect = Rect2(
# 0,
# PLANTED_SEED_POS_Y,
# %PlantedSeed.texture.get_width(),
# %PlantedSeed.texture.texture.get_height() - PLANTED_SEED_CROP_WIDTH + -1 * PLANTED_SEED_POS_Y,
# )
func generate_mutation_effects(plant : Plant):
for m in plant.data.mutations:
var particles_emitter : Particles = PARTICLES_SCENE.instantiate() as CPUParticles2D
particles_emitter.setup_particles(
Particles.Parameters.new(
m.get_icon(),
PlantMutation.get_rarity_color(m.get_rarity())
)
)
add_child(particles_emitter)
func start_harvest_animation():
$AnimationPlayer.play("harvest")
await $AnimationPlayer.animation_finished
harvest_animation_finished.emit()