37 lines
895 B
GDScript
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()
|