Removed extraneous enemy_died signal from spawning; used
get_nodes_in_group for enemy_count
This commit is contained in:
parent
485f03d702
commit
7ef6076eda
5 changed files with 21 additions and 10 deletions
23
main.gd
23
main.gd
|
|
@ -3,6 +3,7 @@ extends Node2D
|
|||
var enemy = preload("res://enemy.tscn")
|
||||
var score = 0
|
||||
var playing = false
|
||||
var enemy_count: int = 0
|
||||
|
||||
@onready var start_button = $CanvasLayer/CenterContainer/Start
|
||||
@onready var game_over = $CanvasLayer/CenterContainer/GameOver
|
||||
|
|
@ -15,20 +16,25 @@ func _ready():
|
|||
# spawn_enemies()
|
||||
|
||||
func spawn_enemies():
|
||||
|
||||
for x in range(9):
|
||||
for y in range(3):
|
||||
for y in range(3):
|
||||
var e = enemy.instantiate()
|
||||
var pos = Vector2(x * (16 + 8) + 24, 16 * 4 + y * 16)
|
||||
add_child(e)
|
||||
e.start(pos)
|
||||
EventBus.enemy_died.emit()
|
||||
enemy_count = get_tree().get_nodes_in_group("enemies").size()
|
||||
print(enemy_count)
|
||||
|
||||
|
||||
|
||||
func _on_enemy_died(value):
|
||||
print_debug("Enemy died!")
|
||||
func _on_enemy_died(value: int):
|
||||
score += value
|
||||
enemy_count -= 1
|
||||
$CanvasLayer/UI.update_score(score)
|
||||
print_debug(enemy_count)
|
||||
if enemy_count == 0:
|
||||
print("All enemies defeated!")
|
||||
win_game()
|
||||
|
||||
func _on_player_died():
|
||||
playing = false
|
||||
|
|
@ -48,3 +54,10 @@ func new_game():
|
|||
func _on_start_pressed():
|
||||
start_button.hide()
|
||||
new_game()
|
||||
|
||||
func win_game():
|
||||
playing = false
|
||||
game_over.show()
|
||||
await get_tree().create_timer(2).timeout
|
||||
game_over.hide()
|
||||
start_button.show()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue