handles enemy respawning properly
This commit is contained in:
@ -2,17 +2,19 @@ extends Area2D
|
||||
|
||||
signal died
|
||||
|
||||
var start_pos = Vector2.ZERO
|
||||
var speed = 0
|
||||
var start_pos: Vector2 = Vector2.ZERO
|
||||
var speed: float = 0
|
||||
var is_exploded = false
|
||||
|
||||
var bullet_scene = preload("res://enemy_bullet/enemy_bullet.tscn")
|
||||
var bullet_scene: PackedScene = preload("res://enemy_bullet/enemy_bullet.tscn")
|
||||
|
||||
@onready var screensize = get_viewport_rect().size
|
||||
@onready var screensize: Vector2 = get_viewport_rect().size
|
||||
|
||||
func start(pos):
|
||||
speed = 0
|
||||
position = Vector2(pos.x, -pos.y)
|
||||
start_pos = pos
|
||||
is_exploded = false
|
||||
await get_tree().create_timer(randf_range(0.25, 0.55)).timeout
|
||||
var tween = create_tween().set_trans(Tween.TRANS_BACK)
|
||||
tween.tween_property(self, "position:y", start_pos.y, 1.4)
|
||||
@ -23,6 +25,10 @@ func start(pos):
|
||||
$ShootTimer.start()
|
||||
|
||||
func explode():
|
||||
if is_exploded:
|
||||
return
|
||||
|
||||
is_exploded = true
|
||||
speed = 0
|
||||
$AnimationPlayer.play("explode")
|
||||
set_deferred("monitoring", false)
|
||||
@ -44,3 +50,7 @@ func _on_shoot_timer_timeout():
|
||||
b.start(position)
|
||||
$ShootTimer.wait_time = randf_range(4, 20)
|
||||
$ShootTimer.start()
|
||||
|
||||
|
||||
func _on_enemy_ready(pos):
|
||||
start(pos)
|
||||
|
Reference in New Issue
Block a user