This repository has been archived on 2022-01-09. You can view files and clone it, but cannot push or open issues/pull-requests.
liblast/Game/Assets/Weapons/Projectile.gd

37 lines
895 B
GDScript

extends Node3D
@export var hit_effect_scene : PackedScene
@export var speed : float
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
$OmniLight3D/Smoke.emitting = true
func _physics_process(delta):
#constant_linear_velocity = Vector3(1, 0, 0)
translate_object_local(Vector3.FORWARD * speed * delta)
# move_and_collide(global_transform.basis.x * Vector3.FORWARD * speed)
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass
func hit():
var hit_effect = hit_effect_scene.instantiate()
hit_effect.global_transform = global_transform
get_tree().root.add_child(hit_effect)
queue_free()
func _on_Area3D_body_entered(body):
hit()
func _on_Area3D_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
hit()