* Changement de l'UI, ajouts de l'inspecteur par carte et changement de police * Ajout d'un semblant d'exploration * Ajout de la sauvegarde des entités * Restructuration mineure de l'arborescence * Fix divers et réécriture des textes
45 lines
1.1 KiB
GDScript
45 lines
1.1 KiB
GDScript
extends InspectableEntity
|
|
class_name UndergroundLoot
|
|
|
|
const AREA_WIDTH = 20
|
|
const LOOTED_ITEM_RANDOM_RANGE = 50
|
|
|
|
const SPRITE_SCENE : PackedScene = preload("res://entities/underground_loot/underground_loot_sprite.tscn")
|
|
|
|
@export var loot : Array[Item]
|
|
|
|
@onready var sprite_object: Node2D = generate_sprite()
|
|
@onready var collision_shape: CollisionShape2D = generate_collision_shape()
|
|
|
|
|
|
func _init(_loot : Array[Item] = []):
|
|
loot = _loot
|
|
default_info_desc = "Contain some random seeds. [b]Dig it with a shovel.[/b]"
|
|
|
|
func pointer_text() -> String:
|
|
return "Buried Loot"
|
|
|
|
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:
|
|
planet.drop_item(item, global_position, LOOTED_ITEM_RANDOM_RANGE)
|
|
queue_free()
|
|
|
|
func save() -> UndergroundLootData:
|
|
return UndergroundLootData.new(self) |