feat: adding tracers to hitscan weapons
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
extends Node3D
|
||||
class_name HitscanTracer
|
||||
|
||||
var speed: float = 300.0 # Extremely fast
|
||||
var target_position: Vector3
|
||||
var distance_traveled: float = 0.0
|
||||
var max_distance: float = 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
max_distance = global_position.distance_to(target_position)
|
||||
if max_distance < 0.1:
|
||||
queue_free()
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var move_dist = speed * delta
|
||||
distance_traveled += move_dist
|
||||
|
||||
if distance_traveled >= max_distance:
|
||||
# Reached target
|
||||
queue_free()
|
||||
else:
|
||||
global_position += -global_transform.basis.z * move_dist
|
||||
Reference in New Issue
Block a user