extends TextureRect
# CardDeck
export var Item:PackedScene
export var PreviewIcon:Texture 
export var DeleteOnGrab:bool = false

var card_level = 0

#if a drag is initiated here 
func get_drag_data(_pos):
	var ctrl = Control.new()
	var TR = TextureRect.new()
	TR.texture = get_resized_texture(PreviewIcon, self.rect_size[0], self.rect_size[1])
	TR.rect_size = self.rect_size
	TR.set_position(_pos * -1, false)
	ctrl.add_child(TR)
	set_drag_preview(ctrl)
	
	if DeleteOnGrab:
		self.queue_free()
	return Item


# stuff can be dropped here
# eg you picked the wrong thing up, let go and it returns to nothingness
func can_drop_data(_pos, data):
	return typeof(data) == typeof(PackedScene)


# do nothing if stuff is dropped here
func drop_data(_pos, _data):
	pass


func get_resized_texture(t: Texture, width: int = 0, height: int = 0):
	var image = t.get_data()
	if width > 0 and height > 0:
		image.resize(width, height)
	var itex = ImageTexture.new()
	itex.create_from_image(image,0)
	return itex


func upgrade_card():
	match card_level:
		0:
			$AnimatedSprite.play("lvl1")
			card_level += 1
		1:
			$AnimatedSprite.play("lvl2")
			card_level += 1
