extends AnimatableBody2D @export var scale_up_target: Vector2 = Vector2(1.0, 1.0) @export var scale_down_target: Vector2 = Vector2(0.5, 0.5) @export var scale_duration: float = 0.5 @export var ui_actions: Node @export var small_sprite = preload("res://textures/antivirus-block-small.png") @export var large_sprite = preload("res://textures/antivirus-block-big.png") @export var delete_self = false func _ready(): add_to_group("scalable_blocks") func _process(delta): change_sprite_based_on_scale() func scale_up(): var tween = create_tween() tween.tween_property(self, "scale", scale_up_target, scale_duration) change_sprite_based_on_scale() if delete_self: queue_free() func scale_down(): var tween = create_tween() tween.tween_property(self, "scale", scale_down_target, scale_duration) change_sprite_based_on_scale() if delete_self: queue_free() func change_sprite_based_on_scale(): var sprite = $Sprite2D if scale == Vector2(0.5, 0.5): sprite.texture = small_sprite elif scale == Vector2(1.0, 1.0): sprite.texture = large_sprite