Enemies now stay on screen after player dies, until start of new game.

This commit is contained in:
Henry 2025-12-23 14:28:35 +00:00
parent ec7a84c252
commit a20e496c2e
4 changed files with 17 additions and 3 deletions

View file

@ -8,6 +8,9 @@ var exploding = false
@onready var screensize = get_viewport_rect().size @onready var screensize = get_viewport_rect().size
func _ready() -> void:
EventBus.enemy_win.connect(_on_enemy_win)
func start(pos): func start(pos):
speed = 0 speed = 0
position = Vector2(pos.x, -pos.y) position = Vector2(pos.x, -pos.y)
@ -21,6 +24,9 @@ func start(pos):
$ShootTimer.wait_time = randf_range(4, 20) $ShootTimer.wait_time = randf_range(4, 20)
$ShootTimer.start() $ShootTimer.start()
func _on_enemy_win() -> void:
print("Enemy win!")
func _on_timer_timeout() -> void: func _on_timer_timeout() -> void:
speed = randf_range(75, 100) speed = randf_range(75, 100)

View file

@ -5,6 +5,7 @@ extends Node
signal shield_changed(max_value: int, old_value: int, new_value: int) signal shield_changed(max_value: int, old_value: int, new_value: int)
signal player_died() signal player_died()
signal enemy_died(value: int) signal enemy_died(value: int)
signal enemy_win()
signal initialize_shieldbar() signal initialize_shieldbar()
signal start_game() signal start_game()

View file

@ -38,7 +38,10 @@ func _on_enemy_died(value: int):
win_game() win_game()
func _on_player_died(): func _on_player_died():
get_tree().call_group("enemies", "queue_free") # get_tree().call_group("enemies", "queue_free")
EventBus.enemy_win.emit()
# $Player.set_process(false)
# $Player.monitoring = false
game_over.show() game_over.show()
await get_tree().create_timer(2).timeout await get_tree().create_timer(2).timeout
game_over.hide() game_over.hide()
@ -46,6 +49,7 @@ func _on_player_died():
playing = false playing = false
func new_game(): func new_game():
get_tree().call_group("enemies", "queue_free")
Global.score = 0 Global.score = 0
# EventBus.initialize_shieldbar.emit() # EventBus.initialize_shieldbar.emit()
$Player.start() $Player.start()

View file

@ -28,6 +28,7 @@ func _ready():
# start() # start()
func start(): func start():
monitoring = true
print(shield) print(shield)
$Ship.frame = 1 $Ship.frame = 1
$Ship.show() $Ship.show()
@ -91,7 +92,7 @@ func _on_area_entered(area):
area.explode() area.explode()
shield -= int(max_shield / 2) shield -= int(max_shield / 2)
damage_taken.emit() damage_taken.emit()
if area.is_in_group("enemy_bullets"): if area.is_in_group("enemy_bullets") and self.monitoring == true:
damage_taken.emit() damage_taken.emit()
@ -104,7 +105,9 @@ func _on_damage_taken() -> void:
$Ship.material.set_shader_parameter("toggle", 0.0) $Ship.material.set_shader_parameter("toggle", 0.0)
func _on_game_over() -> void: func _on_game_over() -> void:
set_process(false) print("Game over!")
# set_process(false)
monitoring = false
$Ship.frame = 1 $Ship.frame = 1
await get_tree().create_timer(2).timeout await get_tree().create_timer(2).timeout
var tween = create_tween() var tween = create_tween()