reloading works and returns to idle. still need to fix idle scanning
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
extends EnemyState
|
||||
class_name EnemyReload
|
||||
|
||||
@export var reload_time : float = 7.0
|
||||
@export var reload_sound : AudioStreamPlayer3D
|
||||
@export var run_distance : float = 3
|
||||
|
||||
@@ -13,11 +12,11 @@ var remaining_bullets
|
||||
func Enter():
|
||||
super()
|
||||
remaining_bullets = enemy.max_ammo
|
||||
enemy.servo_audio.play()
|
||||
enemy.servo_single.play()
|
||||
|
||||
func Exit():
|
||||
super()
|
||||
enemy.servo_audio.play()
|
||||
enemy.servo_single.play()
|
||||
|
||||
func update_waypoint():
|
||||
var direction = (player.global_position - enemy.global_position).normalized()
|
||||
@@ -30,7 +29,7 @@ func Update(delta):
|
||||
update_waypoint()
|
||||
|
||||
if remaining_bullets > 0:
|
||||
if !reload_sound.is_playing() and !enemy.servo_audio.is_playing():
|
||||
if !reload_sound.is_playing():
|
||||
remaining_bullets -= 1
|
||||
reload_sound.play()
|
||||
else:
|
||||
@@ -51,7 +50,10 @@ func Physics_Update(delta):
|
||||
enemy.global_rotation.y = lerp(enemy.global_rotation.y,look_target,delta * 3)
|
||||
|
||||
func finished_reload():
|
||||
if enemy.turret_look_next.is_colliding() and enemy.turret_look_next.get_collider() is Player:
|
||||
Transitioned.emit(self,"attack")
|
||||
if enemy.turret_look_next.is_colliding():
|
||||
if enemy.turret_look_next.get_collider() is Player:
|
||||
Transitioned.emit(self,"attack")
|
||||
else:
|
||||
Transitioned.emit(self,"idle")
|
||||
else:
|
||||
Transitioned.emit(self,"idle")
|
||||
|
||||
Reference in New Issue
Block a user