mirror of
https://github.com/DerTyp7/TopDownShooter-Godot.git
synced 2025-10-28 12:22:10 +01:00
45 lines
927 B
GDScript
45 lines
927 B
GDScript
extends Node
|
|
|
|
var Enemy = preload("res://Enemy.tscn")
|
|
|
|
var wave = 0;
|
|
var enemyList = []
|
|
var spawnpoints = [[20, 80], [50, 120],[90, 170],[500, 50]]
|
|
|
|
func _ready():
|
|
nextWave()
|
|
pass # Replace with function body.
|
|
|
|
func _process(delta):
|
|
var i = 0
|
|
for enemy in enemyList:
|
|
if not enemy || enemy.get_meta("dead") == true:
|
|
enemyList.remove_at(i)
|
|
i = i + 1;
|
|
|
|
if len(enemyList) == 0:
|
|
nextWave()
|
|
|
|
func spawnEnemies(count):
|
|
var i = 0;
|
|
while i < count:
|
|
print("spawn enemy")
|
|
var enemyInstance = Enemy.instantiate()
|
|
enemyInstance.name = "Enemy" + str(randf())
|
|
enemyInstance.position = Vector2(spawnpoints.pick_random()[0] + i, spawnpoints.pick_random()[1] + i)
|
|
get_parent().call_deferred("add_child", enemyInstance)
|
|
enemyList.append(enemyInstance)
|
|
i = i+1;
|
|
|
|
func startWave():
|
|
print("start wave")
|
|
if wave == 0:
|
|
spawnEnemies(1)
|
|
else:
|
|
spawnEnemies(wave * 3)
|
|
|
|
|
|
func nextWave():
|
|
wave = wave+1;
|
|
startWave()
|