first
This commit is contained in:
35
random_minigame_spawner.gd
Normal file
35
random_minigame_spawner.gd
Normal file
@@ -0,0 +1,35 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user