extends Node @export var noMinigame: int = 0 ##Number of slots in the minigame array that spawn no minigame. One of the slots is randomly chosen, meaning a higher number makes no minigame more likely. @export var NoMinigamePreload: String = "res://Spaceship/Objects/noObject.tscn" @export var loadingBarMinigame: bool = false @export var loadingBarMinigamePreload: String = "res://Spaceship/Objects/noObject.tscn" @export var Parent: Node var minigamesArray: Array var rng = RandomNumberGenerator.new() func _ready() -> void: for x in noMinigame: minigamesArray.push_back(NoMinigamePreload) if loadingBarMinigame: minigamesArray.push_back(loadingBarMinigamePreload) #Choose and Spawn minigame var spaceship = get_node("/root/Main/Maps/Spaceship") var objectReference = load(minigamesArray[rng.randi_range(0,minigamesArray.size()-1)]) #Get random Object depending on weights var ObjectInstance = objectReference.instantiate() if Parent: Parent.call_deferred("add_child",ObjectInstance) #Adds Object instance elif spaceship: spaceship.call_deferred("add_child",ObjectInstance) else: push_error("Object Spawner failed to spawn object because of missing parent node") ObjectInstance.rotation = self.global_rotation ObjectInstance.position = self.global_position self.queue_free()