Enemies now stay on screen after player dies, until start of new game.
This commit is contained in:
parent
ec7a84c252
commit
a20e496c2e
4 changed files with 17 additions and 3 deletions
6
enemy.gd
6
enemy.gd
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
||||||
6
main.gd
6
main.gd
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue