29 lines
740 B
GDScript
29 lines
740 B
GDScript
extends Area2D
|
|
class_name DragonEntity
|
|
|
|
|
|
@export var dragon: DragonSprite
|
|
|
|
signal on_pick(dragon_id: int, position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String)
|
|
|
|
var id: int
|
|
|
|
|
|
func _ready() -> void:
|
|
set_process_input(true)
|
|
|
|
|
|
func _input_event(viewport, event, shape_idx) -> void:
|
|
if event is InputEventMouseButton \
|
|
and event.button_index == MOUSE_BUTTON_LEFT \
|
|
and event.is_pressed():
|
|
on_pick.emit(id, position, dragon.hat.texture, dragon.shirt.texture, dragon.shoes.texture, dragon.name_label.text)
|
|
queue_free()
|
|
|
|
|
|
func dress(hat: Texture2D, shirt: Texture2D, shoes: Texture2D):
|
|
dragon.dress(hat, shirt, shoes)
|
|
|
|
|
|
func set_dragon_name(dragon_name: String):
|
|
dragon.set_dragon_name(dragon_name)
|