inching towards better class inheritence and multiplayer compatibility
This commit is contained in:
18
Scripts/EnemyAI/pathing_controller.gd
Normal file
18
Scripts/EnemyAI/pathing_controller.gd
Normal file
@ -0,0 +1,18 @@
|
||||
extends EnemyMovement
|
||||
class_name PathingController
|
||||
|
||||
var path : Curve3D
|
||||
var path_progress = 0.0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
distance_remaining = path.get_baked_length()
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var distance_travelled = (character.stats.movement_speed * clampf(character.movement_speed_penalty, 0.0, 1.0)) * delta
|
||||
distance_remaining -= distance_travelled
|
||||
path_progress += distance_travelled
|
||||
var sample = path.sample_baked_with_rotation(path_progress, true)
|
||||
character.global_position = sample.origin
|
||||
character.look_at(character.global_position + -sample.basis.z)
|
Reference in New Issue
Block a user