53 lines
1.5 KiB
GDScript
53 lines
1.5 KiB
GDScript
extends CharacterBody3D
|
|
|
|
|
|
@onready var enemy_hit_box: Area3D = $EnemyHitBox
|
|
@onready var player_detector: Area3D = $PlayerDetector
|
|
@onready var healthcomponent: HealthComponent = $Healthcomponent
|
|
@onready var enemy_mover_follow: NavigationAgent3D = $EnemyMoverFollow
|
|
@onready var collision_shape_3d: CollisionShape3D = $CollisionShape3D
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#@onready var navigation_agent_3d: NavigationAgent3D = $NavigationAgent3D
|
|
#@export var target : Node3D
|
|
#@export var MAX_SPEED := 2.0
|
|
#
|
|
#func set_target(new_target: Node3D):
|
|
#target = new_target
|
|
#
|
|
#func _physics_process(delta: float) -> void:
|
|
#
|
|
#if is_instance_valid(target):
|
|
#navigation_agent_3d.set_target_position(target.global_position)
|
|
#var next_path_position = navigation_agent_3d.get_next_path_position()
|
|
##next_path_position.y = global_position.y
|
|
#var dir = global_position.direction_to(next_path_position)
|
|
#var new_velocity = dir*MAX_SPEED
|
|
#look_at(next_path_position)
|
|
#navigation_agent_3d.set_velocity(new_velocity)
|
|
#
|
|
##if global_position.distance_to(target.global_position) < 2:
|
|
##queue_free()
|
|
#
|
|
#else:
|
|
#velocity = lerp(velocity, Vector3.ZERO, .1)
|
|
#
|
|
#
|
|
#func _on_navigation_agent_3d_velocity_computed(safe_velocity: Vector3) -> void:
|
|
#velocity = velocity.move_toward(safe_velocity, .25)
|
|
#move_and_slide()
|
|
|
|
|
|
func _on_healthcomponent_start_dying() -> void:
|
|
#enemy_hit_box.monitoring = false
|
|
#enemy_hit_box.monitorable = false
|
|
#collision_shape_3d.disabled = true
|
|
get_tree().create_timer(1).timeout.connect(queue_free)
|