extends Area2D class_name UndergroundLoot const AREA_WIDTH = 10 const LOOTED_ITEM_RANDOM_RANGE = 100 const SPRITE_SCENE : PackedScene = preload("res://entities/underground_loot/underground_loot_sprite.tscn") @export var loot : Array[Item] var planet : Planet # mis à jour par la classe Planet @onready var sprite_object: Node2D = generate_sprite() @onready var collision_shape: CollisionShape2D = generate_collision_shape() func _init(_planet = null): planet = _planet func generate_sprite() -> Node2D: var object = SPRITE_SCENE.instantiate() add_child(object) return object func generate_collision_shape() -> CollisionShape2D: var collision = CollisionShape2D.new() var shape = CircleShape2D.new() shape.radius = AREA_WIDTH collision.shape = shape add_child(collision) return collision func dig(): for item in loot: var item_object = planet.drop_item(item, global_position) var tween : Tween = get_tree().create_tween() tween.tween_property( item_object, "position", Vector2( item_object.position.x + randi()%LOOTED_ITEM_RANDOM_RANGE, item_object.position.y + randi()%LOOTED_ITEM_RANDOM_RANGE ), 0.2 ) queue_free()