50 lines
1.6 KiB
GDScript
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())
|