38 lines
940 B
GDScript
38 lines
940 B
GDScript
extends EnemyState
|
|
class_name EnemyIdle
|
|
|
|
@export var idle_time_range : Vector2 = Vector2(5,7)
|
|
@export var wander_distance_max : float = 30.0
|
|
|
|
var idle_timer
|
|
|
|
func Enter():
|
|
idle_timer = randf_range(idle_time_range.x,idle_time_range.y)
|
|
get_new_wander_point()
|
|
|
|
func Update(delta):
|
|
#attack_on_sight()
|
|
if idle_timer > 0:
|
|
idle_timer -= delta
|
|
else:
|
|
get_new_wander_point()
|
|
|
|
debug_marker(move_target)
|
|
move_to_nav_point(delta)
|
|
#turret_look(delta)
|
|
|
|
func get_new_wander_point():
|
|
#reset timer
|
|
idle_timer = randf_range(idle_time_range.x,idle_time_range.y)
|
|
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)
|
|
|
|
print("MOVE TARGET : ",move_target)
|
|
|
|
get_turret_look_destination()
|
|
|
|
func get_turret_look_destination():
|
|
look_target = move_target + Vector3(0,3,0)
|