extends Node2D @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 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 player = $Player func _ready() -> void: Globals.setPlayer(player) player.changeWeapon(shotgun) 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) func spawnEnemy(_enemy: PackedScene, _position: Vector2): var newEnemy = _enemy.instantiate() newEnemy.global_position = _position 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) func _on_obstacles_spawn_timer_timeout() -> void: spawnObstacle(obstacle, Globals.getPlayer().getRandomSpawnPointPosition())