added Graphics and sound Effects and more overhauls

This commit is contained in:
Exobyt 2025-08-03 20:56:32 +02:00
parent c887a2168c
commit b9d4288900
214 changed files with 3378 additions and 198 deletions

View file

@ -1,50 +1,69 @@
extends Node2D
@onready var obstaclesSpawnTimer = $obstaclesSpawnTimer
@onready var timeGhost = preload("res://scenes/spaceShip/timeGhost/timeghost.tscn")
@onready var minigun = preload("res://scenes/weapon/minigun/minigun.tscn")
@onready var railgun = preload("res://scenes/weapon/railgun/railgun.tscn")
@onready var shotgun = preload("res://scenes/weapon/shotgun/shotgun.tscn")
@onready var shotgunEnemy: PackedScene = preload("res://scenes/spaceShip/enemy/shotgunEnemy/shotgunEnemy.tscn")
@onready var minigunEnemy: PackedScene = preload("res://scenes/spaceShip/enemy/minigunEnemy/minigunEnemy.tscn")
@onready var railgunEnemy: PackedScene = preload("res://scenes/spaceShip/enemy/railgunEnemy/railgunEnemy.tscn")
@onready var meteor: PackedScene = preload("res://scenes/obstacle/meteor/meteor.tscn")
@onready var radiation: PackedScene = preload("res://scenes/obstacle/radiation/radiation.tscn")
@onready var obstaclePool = $obstaclePool
@onready var enemyPool = $enemyPool
@onready var enemySpawnTimer = $spawnTimer/enemySpawnTimer
@onready var obstaclesSpawnTimer = $spawnTimer/obstaclesSpawnTimer
@onready var enemy: PackedScene = preload("res://scenes/spaceShip/enemy/enemy.tscn")
@onready var obstacle: PackedScene = preload("res://scenes/obstacle/meteor/meteor.tscn")
@onready var endScreen: PackedScene = preload("res://scenes/UI/loseScreen/endScreen.tscn")
var minigunRatio = 5
var railgunRatio = 10
var endedRound = false
@onready var player = $Player
func _ready() -> void:
obstaclesSpawnTimer.autostart = true
obstaclesSpawnTimer.start()
Globals.setPlayer(player)
player.changeWeapon(shotgun)
Globals.waveComplete.connect(nextWave)
player.destroyed.connect(endRound)
nextWave()
for i in range(1, 10):
addGhost()
func addGhost():
var ghost = timeGhost.instantiate()
add_child(ghost)
player.addTimeGhost(ghost)
func spawnObstacle(_obstacle: PackedScene, _position: Vector2):
var newObstacle = _obstacle.instantiate()
newObstacle.global_position = _position
obstaclePool.add_child(newObstacle)
if get_tree().get_first_node_in_group("obstaclePool") != null:
get_tree().get_first_node_in_group("obstaclePool").add_child(newObstacle)
func spawnEnemy(_enemy: PackedScene, _position: Vector2):
Globals.enemyCount += 1
var newEnemy = _enemy.instantiate()
newEnemy.global_position = _position
enemyPool.add_child(newEnemy)
if get_tree().get_first_node_in_group("enemyPool") != null:
get_tree().get_first_node_in_group("enemyPool").add_child(newEnemy)
func _on_enemy_spawn_timer_timeout() -> void:
spawnEnemy(enemy, Globals.getPlayer().getRandomSpawnPointPosition())
for i in enemyPool.get_children():
i.changeWeapon(shotgun)
#newEnemy.destroyed.connect(startEnemySpawnTimer)
func _on_obstacles_spawn_timer_timeout() -> void:
spawnObstacle(obstacle, Globals.getPlayer().getRandomSpawnPointPosition())
var rng = RandomNumberGenerator.new()
var number = rng.randi_range(0, 10)
if number == 10:
if Globals.getPlayer() != null:
spawnObstacle(radiation, Globals.getPlayer().getRandomSpawnPointPosition())
else:
if Globals.getPlayer() != null:
spawnObstacle(meteor, Globals.getPlayer().getRandomSpawnPointPosition())
func nextWave():
Globals.enemyCount = 0
Globals.currentWave += 1
if Globals.getPlayer() != null:
for i in range(1, Globals.currentWave+1):
if i % railgunRatio == 0:
spawnEnemy(railgunEnemy, Globals.getPlayer().getRandomSpawnPointPosition())
elif i % minigunRatio == 0:
spawnEnemy(minigunEnemy, Globals.getPlayer().getRandomSpawnPointPosition())
else:
spawnEnemy(shotgunEnemy, Globals.getPlayer().getRandomSpawnPointPosition())
func endRound():
if not endedRound:
endedRound = true
get_tree().get_root().add_child(endScreen.instantiate())
self.queue_free()