Files
fps_project_1/assets/casing.gd

41 lines
1.1 KiB
GDScript

extends RigidBody3D
@onready var collision_shape = $CollisionShape3D
@onready var audio_drop = $DropSound
@onready var level_control = get_tree().get_current_scene()
var rng = RandomNumberGenerator.new()
var random_rotation = true
var particle_number
var player_velocity
var despawning = false
# Called when the node enters the scene tree for the first time.
func _ready():
#enter the scene and assign particle number
level_control.particle_number += 1
particle_number = level_control.particle_number
func _process(delta):
#once max particles reached delete from scene
if level_control != null: #replace this check when level reload works properly
if level_control.particle_number >= (particle_number + level_control.MAX_PARTICLES):
_on_timer_timeout()
if despawning:
linear_velocity.y -= .1 * delta
func _on_timer_timeout():
collision_shape.disabled = true
gravity_scale = 0
despawning = true
await get_tree().create_timer(2).timeout
queue_free()
func _on_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
if body.get_collision_layer() == 1:
audio_drop.play()