diff options
author | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2023-09-25 19:06:24 -0400 |
---|---|---|
committer | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2023-09-25 19:06:24 -0400 |
commit | c7eb92fe061ce685814113a14f050c396f70ae5b (patch) | |
tree | b5da2596460bd1d82bd6e04dbc38e351f2e88ecc | |
parent | 73cbbef3d165519f7d76304049e0037ecaa29f85 (diff) |
Add tree seed prefab
-rw-r--r-- | prefab/tree_seed.tscn | 11 | ||||
-rw-r--r-- | scripts/level_gen.gd | 4 | ||||
-rw-r--r-- | scripts/player.gd | 4 |
3 files changed, 18 insertions, 1 deletions
diff --git a/prefab/tree_seed.tscn b/prefab/tree_seed.tscn new file mode 100644 index 0000000..31eaf74 --- /dev/null +++ b/prefab/tree_seed.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=3 uid="uid://be34j4whbstck"] + +[ext_resource type="PackedScene" uid="uid://cy44cmw1wn862" path="res://prefab/seed.tscn" id="1_thr6e"] +[ext_resource type="PackedScene" uid="uid://b10phvcuy488p" path="res://prefab/tree.tscn" id="2_ak7mh"] + +[node name="tree_seed" type="Node3D"] + +[node name="Seed" parent="." instance=ExtResource("1_thr6e")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10.4754, 0) + +[node name="Tree" parent="." instance=ExtResource("2_ak7mh")] diff --git a/scripts/level_gen.gd b/scripts/level_gen.gd index 779ad01..0a171d0 100644 --- a/scripts/level_gen.gd +++ b/scripts/level_gen.gd @@ -167,8 +167,12 @@ func _ready(): var rock_prefab = preload("res://prefab/rock.tscn") var num_rocks = random.randi_range(5, 15) + var seed_tree_prefab = preload("res://prefab/tree_seed.tscn") + place_objects(num_trees, tree_prefab) place_objects(num_rocks, rock_prefab) + + place_objects(5, seed_tree_prefab) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(_delta): diff --git a/scripts/player.gd b/scripts/player.gd index 95737ce..247f5ec 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -35,7 +35,9 @@ func leave_body(body: Node3D): func pickup(): if current_node.collision_layer & 0b1000: num_seeds += 1 - current_node.get_parent().remove_child(current_node) + var node = current_node + node.get_parent().remove_child(node) + node.queue_free() elif holding == null: holding = current_node current_node.get_parent().remove_child(current_node) |