Idle state is simplified and looking good

This commit is contained in:
derek
2025-04-30 10:49:53 -05:00
parent d65e362539
commit d9ab3a82a7
11 changed files with 63 additions and 343 deletions

View File

@@ -1,53 +1,2 @@
extends EnemyState
class_name EnemySearch
var search_timer
var update_target_timer
var move_target
var look_target
const UPDATE_TARGET_TIME_MAX : float = 1.0
const SEARCH_TIME_MAX : float = 10.0 #only searches for anything for 10 seconds before returning to idle
func Enter():
super()
search_timer = SEARCH_TIME_MAX
update_target_timer = UPDATE_TARGET_TIME_MAX
move_target = update_waypoint_or_idle()
look_target = update_waypoint_or_idle()
func Exit():
pass
func Update(delta: float):
super(delta)
if search_timer > 0:
search_timer -= delta
else:
Transitioned.emit(self,"idle")
if update_target_timer > 0:
update_target_timer -= delta
else:
move_target = update_waypoint_or_idle()
look_target = update_waypoint_or_idle()
attack_on_sight()
search_for_suspicious_sounds()
if enemy.global_position.distance_to(move_target_adj(move_target)) < 1:
Transitioned.emit(self,"idle")
func Physics_Update(delta : float):
#turret transform
enemy.turret_look.rotation = lerp(enemy.turret_look.rotation,enemy.turret_look_next.rotation,delta * turret_speed)
var destination = enemy.nav_agent.get_next_path_position()
var local_destination = destination - enemy.global_position
var direction = local_destination.normalized()
enemy.velocity = direction * move_speed
enemy.global_rotation.y = rotate_to_face2D(enemy,move_target,delta,2)