From 73cbbef3d165519f7d76304049e0037ecaa29f85 Mon Sep 17 00:00:00 2001 From: Lucas Fryzek Date: Mon, 25 Sep 2023 18:22:55 -0400 Subject: Add seed object and ability to pickup --- prefab/player.tscn | 4 ++-- prefab/seed.tscn | 18 ++++++++++++++++++ scenes/main.tscn | 6 +++++- scripts/player.gd | 6 +++++- 4 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 prefab/seed.tscn diff --git a/prefab/player.tscn b/prefab/player.tscn index a514664..e4f28aa 100644 --- a/prefab/player.tscn +++ b/prefab/player.tscn @@ -28,8 +28,8 @@ distance_from_pivot = 5.0 pivot_offset = Vector2(0, 1) [node name="Picker" type="Area3D" parent="."] -collision_layer = 2 -collision_mask = 2 +collision_layer = 10 +collision_mask = 10 [node name="PickerBox" type="CollisionShape3D" parent="Picker"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -1) diff --git a/prefab/seed.tscn b/prefab/seed.tscn new file mode 100644 index 0000000..dde0836 --- /dev/null +++ b/prefab/seed.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://cy44cmw1wn862"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_sgcyu"] + +[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_agt7u"] +size = Vector2(32, 32) + +[node name="Seed" type="StaticBody3D"] +collision_layer = 8 +collision_mask = 8 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("SphereShape3D_sgcyu") + +[node name="Sprite3D" type="Sprite3D" parent="."] +pixel_size = 0.0313 +billboard = 1 +texture = SubResource("PlaceholderTexture2D_agt7u") diff --git a/scenes/main.tscn b/scenes/main.tscn index c1339d1..4b38245 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=11 format=3 uid="uid://bb55ocpenupao"] +[gd_scene load_steps=12 format=3 uid="uid://bb55ocpenupao"] [ext_resource type="Script" path="res://scripts/level_gen.gd" id="1_sfx65"] [ext_resource type="PackedScene" uid="uid://dsq68sqy2ldjm" path="res://prefab/player.tscn" id="3_8dect"] [ext_resource type="Material" uid="uid://uiwp0gpofjrx" path="res://materials/terrain.tres" id="3_nsy4g"] [ext_resource type="PackedScene" uid="uid://2a3fyuye46hm" path="res://prefab/rock.tscn" id="3_so64k"] +[ext_resource type="PackedScene" uid="uid://cy44cmw1wn862" path="res://prefab/seed.tscn" id="5_sfjwf"] [sub_resource type="BoxMesh" id="BoxMesh_2l1xl"] material = ExtResource("3_nsy4g") @@ -88,3 +89,6 @@ offset_right = 88.0 offset_bottom = 42.0 text = "0" text_direction = 2 + +[node name="Seed" parent="." instance=ExtResource("5_sfjwf")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.0312, 0.5, -2.87852) diff --git a/scripts/player.gd b/scripts/player.gd index 7c6079b..95737ce 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -25,6 +25,7 @@ var last_wall_direction: Vector3 = Vector3() func got_body(body: Node3D): if current_node == null: + print("Got body ", body) current_node = body func leave_body(body: Node3D): @@ -32,7 +33,10 @@ func leave_body(body: Node3D): current_node = null func pickup(): - if holding == null: + if current_node.collision_layer & 0b1000: + num_seeds += 1 + current_node.get_parent().remove_child(current_node) + elif holding == null: holding = current_node current_node.get_parent().remove_child(current_node) holding.position = Vector3.ZERO -- cgit