mirror of
https://github.com/DerTyp7/TopDownShooter-Godot.git
synced 2025-10-29 12:52:13 +01:00
Fix collider and add waves
This commit is contained in:
44
EnemySpawner.gd
Normal file
44
EnemySpawner.gd
Normal file
@@ -0,0 +1,44 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user