ajout du déblocage/évolutions des plantes (#89) et fix divers
This commit is contained in:
@@ -4,28 +4,11 @@ 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]"
|
||||
@export var item_number : int = 1
|
||||
|
||||
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()
|
||||
@@ -36,8 +19,19 @@ func generate_collision_shape() -> CollisionShape2D:
|
||||
|
||||
return collision
|
||||
|
||||
func generate_loot() -> Array[Item]:
|
||||
var seeds : Array[Item] = []
|
||||
if len(GameInfo.game_data.unlocked_plant_types):
|
||||
seeds.append(
|
||||
Seed.new(
|
||||
GameInfo.game_data.unlocked_plant_types.pick_random()
|
||||
)
|
||||
)
|
||||
return seeds
|
||||
|
||||
|
||||
func dig():
|
||||
for item in loot:
|
||||
for item in generate_loot():
|
||||
planet.drop_item(item, global_position, LOOTED_ITEM_RANDOM_RANGE)
|
||||
queue_free()
|
||||
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
extends EntityData
|
||||
class_name UndergroundLootData
|
||||
|
||||
@export var loot : Array[Item]
|
||||
const SCENE = preload("res://entities/underground_loot/underground_loot.tscn")
|
||||
|
||||
@export var item_number : int
|
||||
|
||||
func _init(e : UndergroundLoot):
|
||||
position = e.global_position
|
||||
loot = e.loot
|
||||
position = e.global_position
|
||||
item_number = e.item_number
|
||||
|
||||
func load() -> Entity:
|
||||
return UndergroundLoot.new(loot)
|
||||
var loot : UndergroundLoot = (SCENE.instantiate() as UndergroundLoot)
|
||||
loot.item_number = item_number
|
||||
return loot
|
||||
|
||||
21
entities/underground_loot/underground_loot.tscn
Normal file
21
entities/underground_loot/underground_loot.tscn
Normal file
@@ -0,0 +1,21 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://dxjud7bti0na0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dfd2hh12155lo" path="res://entities/underground_loot/scripts/underground_loot.gd" id="1_knus5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bu26h0iqutnky" path="res://entities/underground_loot/assets/sprites/underground_loot.svg" id="2_jfggo"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_knus5"]
|
||||
radius = 20.09975
|
||||
|
||||
[node name="UndergroundLootSprites" type="Area2D"]
|
||||
script = ExtResource("1_knus5")
|
||||
default_info_title = "Buried Seeds"
|
||||
default_info_desc = "Contain some random seeds. [b]Dig it with a shovel.[/b]"
|
||||
metadata/_custom_type_script = "uid://d3bk52402ylvl"
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
modulate = Color(0.286275, 0.219608, 0.313726, 1)
|
||||
scale = Vector2(0.0806452, 0.0806452)
|
||||
texture = ExtResource("2_jfggo")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_knus5")
|
||||
@@ -1,10 +0,0 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dxjud7bti0na0"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bu26h0iqutnky" path="res://entities/underground_loot/assets/sprites/underground_loot.svg" id="1_t1xxm"]
|
||||
|
||||
[node name="UndergroundLootSprites" type="Node2D"]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
modulate = Color(0.286275, 0.219608, 0.313726, 1)
|
||||
scale = Vector2(0.0806452, 0.0806452)
|
||||
texture = ExtResource("1_t1xxm")
|
||||
Reference in New Issue
Block a user