0 votes

I have an array of PackedScenes which I select at random. If the scene selected contains a value of 3, then I just add the first PackedScene in the array to the current scene. I want to check the scene's data value before determining whether it's added to the current scene. The only way I could access that data was to instance the PackedScene. I was wondering if It's correct to delete instances that aren't added to the scene as a child? I simplified my code below so it focuses on the question. Thanks in advance.

using Godot;
using System;

public class Example : Node
    private PackedScene[] _possibleScenes ={

    public override void _Ready() { SpawnScene(); }

    private void SpawnScene()

        uint rand = (uint)(GD.Randi() % _possibleScenes.Length);
        Test newScene = (Test)_possibleScenes[rand].Instance(); 

        //if data member in newScene is == 3, instance the first scene
        if (newScene.val == 3)
            newScene.QueueFree(); //delete instance at end of frame
            newScene = (Test)_possibleScenes[0].Instance();
in Engine by (37 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.