重新加载场景后丢失引用,即使它们再次存在

Losing references after reloading the scene, even though they exist again

所以基本上我在手机上创建了一个 space 沙盒游戏,您可以在其中创建自己的宇宙。在游戏开始时,您可以选择您的火箭。每个火箭都有自己的相机、播放器和生成器。不是最好的解决方案,但它有效。在玩家选择了他的火箭后,我摧毁了不活动的生成器,所以它们不起作用。 我的问题是当退出场景并选择不同的火箭并重复该过程时,具有对所有生成器的所有引用的 SpawningManager 丢失了对它们的引用。即使我重新加载了场景,所有引用仍然丢失。 对不起,如果这很难理解,但很难解释。

这是销毁刷怪箱的部分代码(用颜色表示)

if (BlueSelected == true)
        {
            Destroy(RedSpawner);
            Destroy(OrangeSpawner);
            Destroy(YellowSpawner);
            Destroy(GreenSpawner);
        }

以及其中一个星球刷怪笼的一部分(用颜色表示)

{ public 变换 SpawnPointBlue、SpawnPointRed、SpawnPointOrange、SpawnPointYellow; public 游戏对象 Mercury;

// Checks if the Spawner is greater than null (There or not) and Instantiates the Object at the Players Position
public void SpawnMercury()
{
    
    if(SpawnPointBlue != null)
    {
        Instantiate(Mercury, SpawnPointBlue.position, SpawnPointBlue.rotation);
    }

    if(SpawnPointRed != null)
    {   
        Instantiate(Mercury, SpawnPointRed.position, SpawnPointRed.rotation);
    }

    if(SpawnPointOrange != null)
    {   
        Instantiate(Mercury, SpawnPointOrange.position, SpawnPointOrange.rotation);
    }

    if(SpawnPointYellow != null)
    {   
        Instantiate(Mercury, SpawnPointYellow.position, SpawnPointYellow.rotation);
    }

如果我理解得很好,您的 SpawnerManager 处于“不要在加载时销毁”并在场景之间保持存在。当您开始游戏时,您已经手动将生成器引用到管理器,并且一切都很好,然后当您转到另一个场景并返回生成器应该在的位置时,不再有对管理器的引用?

如果是这样,这个接缝对我来说很正常,不支持场景之间的引用,当场景被卸载时,引用消失。

如果我误解了什么,我很乐意挖掘一下解决方案