mirror of
https://github.com/Steffo99/pineapple-surf.git
synced 2024-11-22 07:44:20 +00:00
Add actual pea shooting
This commit is contained in:
parent
45f79ed68a
commit
2b2218bcf1
5 changed files with 51 additions and 11 deletions
|
@ -1,4 +1,5 @@
|
||||||
extends Node3D
|
extends Node3D
|
||||||
|
class_name CropTile
|
||||||
|
|
||||||
|
|
||||||
signal on_planted()
|
signal on_planted()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=15 format=3 uid="uid://bg88gc1w1gw5m"]
|
[gd_scene load_steps=17 format=3 uid="uid://bg88gc1w1gw5m"]
|
||||||
|
|
||||||
[ext_resource type="Shader" path="res://island/Sea.gdshader" id="1_agjfy"]
|
[ext_resource type="Shader" path="res://island/Sea.gdshader" id="1_agjfy"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bdoifsf6k0qb8" path="res://assets/water_tile.png" id="1_w6ara"]
|
[ext_resource type="Texture2D" uid="uid://bdoifsf6k0qb8" path="res://assets/water_tile.png" id="1_w6ara"]
|
||||||
|
@ -22,15 +22,23 @@ shader_parameter/sea = ExtResource("1_w6ara")
|
||||||
material = SubResource("ShaderMaterial_3uyyi")
|
material = SubResource("ShaderMaterial_3uyyi")
|
||||||
size = Vector2(1000, 1000)
|
size = Vector2(1000, 1000)
|
||||||
|
|
||||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_htlhh"]
|
[sub_resource type="Gradient" id="Gradient_shcpx"]
|
||||||
sky_top_color = Color(0.356863, 0.623529, 0.937255, 1)
|
interpolation_mode = 2
|
||||||
sky_horizon_color = Color(0.254902, 0.623529, 0.8, 1)
|
offsets = PackedFloat32Array(0.518605, 0.723256, 0.953488)
|
||||||
ground_bottom_color = Color(0.254902, 0.623529, 0.8, 1)
|
colors = PackedColorArray(1, 0.694118, 0.741176, 1, 0.0352941, 0.831373, 0.882353, 1, 0.152941, 0.698039, 1, 1)
|
||||||
ground_horizon_color = Color(0.254902, 0.623529, 0.8, 1)
|
|
||||||
ground_curve = 7.89838
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_yb0rj"]
|
||||||
|
gradient = SubResource("Gradient_shcpx")
|
||||||
|
width = 256
|
||||||
|
height = 256
|
||||||
|
fill_from = Vector2(0, 1)
|
||||||
|
fill_to = Vector2(0, 0)
|
||||||
|
|
||||||
|
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_c0cxy"]
|
||||||
|
panorama = SubResource("GradientTexture2D_yb0rj")
|
||||||
|
|
||||||
[sub_resource type="Sky" id="Sky_j6hso"]
|
[sub_resource type="Sky" id="Sky_j6hso"]
|
||||||
sky_material = SubResource("ProceduralSkyMaterial_htlhh")
|
sky_material = SubResource("PanoramaSkyMaterial_c0cxy")
|
||||||
|
|
||||||
[sub_resource type="Environment" id="Environment_302o8"]
|
[sub_resource type="Environment" id="Environment_302o8"]
|
||||||
background_mode = 2
|
background_mode = 2
|
||||||
|
@ -77,10 +85,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 0, 5)
|
||||||
environment = SubResource("Environment_302o8")
|
environment = SubResource("Environment_302o8")
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -0.337161, 0.941447, 0, -0.941447, -0.337161, 0, 2.08989, 0)
|
transform = Transform3D(1, 0, 0, 0, -0.249636, 0.96834, 0, -0.96834, -0.249636, 0, 7.44648, 0)
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("3_5378m")]
|
[node name="Player" parent="." instance=ExtResource("3_5378m")]
|
||||||
transform = Transform3D(-1, 3.48787e-16, -8.74228e-08, 3.48787e-16, 1, -3.48787e-16, 8.74228e-08, -3.48787e-16, -1, 0, 4.89631, 0)
|
transform = Transform3D(-1, 3.48787e-16, -8.74228e-08, 3.48787e-16, 1, -3.48787e-16, 8.74228e-08, -3.48787e-16, -1, 2.08165e-12, 4.896, 2.08165e-12)
|
||||||
|
|
||||||
[node name="CropTiles" type="Node3D" parent="."]
|
[node name="CropTiles" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
@ -98,4 +106,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 8)
|
||||||
debug_growth = true
|
debug_growth = true
|
||||||
debug_growth_offset = 0.6
|
debug_growth_offset = 0.6
|
||||||
|
|
||||||
|
[node name="CropTile4" parent="CropTiles" instance=ExtResource("8_4ooup")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -2)
|
||||||
|
debug_growth = true
|
||||||
|
debug_growth_offset = 0.6
|
||||||
|
|
||||||
[node name="Produce" type="Node3D" parent="."]
|
[node name="Produce" type="Node3D" parent="."]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=5 format=3 uid="uid://bufi0wh54u5x5"]
|
[gd_scene load_steps=4 format=3 uid="uid://bufi0wh54u5x5"]
|
||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://c5a1nyqumj46j" path="res://menu/menu_theme.tres" id="1_mkxnc"]
|
[ext_resource type="Theme" uid="uid://c5a1nyqumj46j" path="res://menu/menu_theme.tres" id="1_mkxnc"]
|
||||||
[ext_resource type="Script" path="res://menu/Menu.gd" id="2_6amk3"]
|
[ext_resource type="Script" path="res://menu/Menu.gd" id="2_6amk3"]
|
||||||
|
|
|
@ -6,6 +6,7 @@ var last_fired := 0
|
||||||
var remaining := 10
|
var remaining := 10
|
||||||
|
|
||||||
@onready var ray = $RayCast3D
|
@onready var ray = $RayCast3D
|
||||||
|
var croptile = preload("res://island/CropTile.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _init() -> void:
|
func _init() -> void:
|
||||||
|
@ -37,6 +38,7 @@ func shoot() -> void:
|
||||||
var normal = ray.get_collision_normal() as Vector3
|
var normal = ray.get_collision_normal() as Vector3
|
||||||
var point = ray.get_collision_point() as Vector3
|
var point = ray.get_collision_point() as Vector3
|
||||||
var object = ray.get_collider() as Node3D
|
var object = ray.get_collider() as Node3D
|
||||||
|
try_placing_seed(ray)
|
||||||
# decalInstance.position = point
|
# decalInstance.position = point
|
||||||
# object.add_child(decalInstance)
|
# object.add_child(decalInstance)
|
||||||
else:
|
else:
|
||||||
|
@ -44,3 +46,21 @@ func shoot() -> void:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
remaining -= 1
|
remaining -= 1
|
||||||
|
|
||||||
|
|
||||||
|
func try_placing_seed(ray: RayCast3D) -> bool:
|
||||||
|
var point = ray.get_collision_point() as Vector3
|
||||||
|
var normal = ray.get_collision_normal() as Vector3
|
||||||
|
var obj = ray.get_collider() as Node3D
|
||||||
|
print(point, normal, obj.name)
|
||||||
|
if normal != Vector3(0,1,0):
|
||||||
|
print("Not horizontal, no plant for you :<")
|
||||||
|
return false
|
||||||
|
|
||||||
|
var correct_point = point.floor()
|
||||||
|
var crop = croptile.instantiate() as CropTile
|
||||||
|
crop.position = correct_point
|
||||||
|
crop.debug_growth = true
|
||||||
|
get_tree().root.add_child(crop)
|
||||||
|
|
||||||
|
return true
|
||||||
|
|
|
@ -14,6 +14,11 @@ _global_script_classes=[{
|
||||||
"language": &"GDScript",
|
"language": &"GDScript",
|
||||||
"path": "res://player/onhand/BaseWeapon.gd"
|
"path": "res://player/onhand/BaseWeapon.gd"
|
||||||
}, {
|
}, {
|
||||||
|
"base": "Node3D",
|
||||||
|
"class": &"CropTile",
|
||||||
|
"language": &"GDScript",
|
||||||
|
"path": "res://island/CropTile.gd"
|
||||||
|
}, {
|
||||||
"base": "BaseWeapon",
|
"base": "BaseWeapon",
|
||||||
"class": &"PeaShooter",
|
"class": &"PeaShooter",
|
||||||
"language": &"GDScript",
|
"language": &"GDScript",
|
||||||
|
@ -31,6 +36,7 @@ _global_script_classes=[{
|
||||||
}]
|
}]
|
||||||
_global_script_class_icons={
|
_global_script_class_icons={
|
||||||
"BaseWeapon": "",
|
"BaseWeapon": "",
|
||||||
|
"CropTile": "",
|
||||||
"PeaShooter": "",
|
"PeaShooter": "",
|
||||||
"Player": "",
|
"Player": "",
|
||||||
"PlayerInputData": ""
|
"PlayerInputData": ""
|
||||||
|
|
Loading…
Reference in a new issue