Files
fps_project_1/scripts/EnemyIdle.gd
2025-04-30 13:04:52 -05:00

41 lines
1013 B
GDScript

extends EnemyState
class_name EnemyIdle
@export var wander_distance_max : float = 15.0
@export var scan_cone_angle : float = 90
@export var scan_time : float = 3
var idle_timer
var scan_timer
var scan_direction
func Enter():
scan_direction = scan_cone_angle/2
scan_timer = scan_time
get_new_wander_point()
func Update(delta):
if scan_timer > 0:
scan_timer -= delta
else:
change_scan_direction()
func Physics_Update(delta):
debug_marker(move_target)
if enemy.nav_agent.is_navigation_finished():
get_new_wander_point()
else:
move_to_nav_point(delta)
turret_scan_look(enemy.nav_agent.get_next_path_position(),scan_direction,delta)
func get_new_wander_point():
#reset timer
var x = randf_range(-wander_distance_max,wander_distance_max)
var z = randf_range(-wander_distance_max,wander_distance_max)
move_target = enemy.global_position + Vector3(x,0,z)
enemy.nav_agent.set_target_position(move_target)
func change_scan_direction():
scan_timer = scan_time
scan_direction = -scan_direction