ChronoSpace/scenes/main/main.gd
2025-08-02 12:27:49 +02:00

50 lines
1.6 KiB
GDScript

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())