ajout des mutation et refonte de l'inspecteur
* ajout des mutations #86 * changement de l'objectif #85 * refonte de l'inspecteur #71 * changement léger de la plantation * les plantes ne donnent que des graines de leurs espèces * refonte partielle du code, refacto
This commit is contained in:
@@ -10,6 +10,7 @@ const SPRITE_SCENE : PackedScene = preload("res://entities/interactables/item_ob
|
||||
item = _item
|
||||
if object_sprite:
|
||||
object_sprite.apply_texture_to_sprite(item.icon, ITEM_SPRITE_SIZE)
|
||||
object_sprite.generate_particles(item.get_particles())
|
||||
|
||||
@onready var object_sprite : ItemObjectSprite = generate_sprite()
|
||||
|
||||
@@ -21,6 +22,7 @@ func _ready():
|
||||
generate_collision(ITEM_AREA_WIDTH)
|
||||
if item and object_sprite:
|
||||
object_sprite.apply_texture_to_sprite(item.icon, ITEM_SPRITE_SIZE)
|
||||
object_sprite.generate_particles(item.get_particles())
|
||||
|
||||
func pointer_text():
|
||||
var name_suffix = ""
|
||||
@@ -36,11 +38,7 @@ func interact_text():
|
||||
return "Take"
|
||||
|
||||
func inspector_info() -> Inspector.Info:
|
||||
return Inspector.Info.new(
|
||||
pointer_text(),
|
||||
item.description,
|
||||
item.icon
|
||||
)
|
||||
return item.inspector_info()
|
||||
|
||||
func interact(player : Player) -> bool:
|
||||
var swapped_item = player.pick_item(item)
|
||||
@@ -61,16 +59,17 @@ func pickup_animation(player : Player):
|
||||
func():
|
||||
queue_free()
|
||||
)
|
||||
object_sprite.pickup_animation()
|
||||
if object_sprite:
|
||||
object_sprite.pickup_animation()
|
||||
|
||||
func generate_sprite() -> ItemObjectSprite:
|
||||
var spriteNode = SPRITE_SCENE.instantiate() as ItemObjectSprite
|
||||
add_child(spriteNode)
|
||||
var sprite_node = SPRITE_SCENE.instantiate() as ItemObjectSprite
|
||||
add_child(sprite_node)
|
||||
|
||||
if item:
|
||||
spriteNode.apply_texture_to_sprite(
|
||||
sprite_node.apply_texture_to_sprite(
|
||||
item.icon,
|
||||
ITEM_SPRITE_SIZE
|
||||
)
|
||||
|
||||
return spriteNode
|
||||
return sprite_node
|
||||
|
||||
@@ -1,15 +1,26 @@
|
||||
extends Node2D
|
||||
class_name ItemObjectSprite
|
||||
|
||||
@onready var iconSprite = $Icon
|
||||
@onready var icon_sprite = $Icon
|
||||
|
||||
const PARTICLES_SCENE : PackedScene = preload("res://common/vfx/particles/particles.tscn")
|
||||
|
||||
func apply_texture_to_sprite(texture, item_sprite_size = 50.):
|
||||
if texture:
|
||||
iconSprite.texture = texture
|
||||
iconSprite.scale = Vector2(
|
||||
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[Particles.Parameters]):
|
||||
for c in get_children():
|
||||
if c is Particles: queue_free()
|
||||
|
||||
for params in particles_params:
|
||||
var particles_emitter : Particles = PARTICLES_SCENE.instantiate() as Particles
|
||||
particles_emitter.setup_particles(params)
|
||||
add_child(particles_emitter)
|
||||
|
||||
func pickup_animation():
|
||||
%AnimationPlayer.play("pickup")
|
||||
|
||||
Reference in New Issue
Block a user