Потеря ссылок после перезагрузки сцены, даже если они снова существуют

#c# #unity3d #reference #spawn #destroy

#c# #unity3d #ссылка #порождение #уничтожать

Вопрос:

Так что в основном я создаю космическую песочницу на мобильном телефоне, где вы можете создать свою собственную вселенную. В начале игры вы можете выбрать свою ракету. Каждая ракета имеет свою собственную камеру, игрока и Спавнера, прикрепленных к ней. Не самое приятное решение, но оно работает. После того, как игрок выберет свою ракету, я уничтожаю порождающих на бездействующих, чтобы они не работали. Моя проблема заключается в том, что при выходе из сцены, выборе другой ракеты и повторении процесса, диспетчер создания со всеми ссылками на всех создателей потерял ссылки на них. Несмотря на то, что я перезагрузил сцену, все ссылки все еще потеряны. Извините, если это было трудно понять, но это было трудно объяснить.

Вот часть кода, которая уничтожает порождающих(представленных цветами)

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

И часть одной из планет-порождений(представлена цветами)

{ публичное преобразование SpawnPointBlue, SpawnPointRed, SpawnPointOrange, SpawnPointYellow; публичный игровой объект Меркурий;

 // 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);  }  

Ответ №1:

Если я правильно понял, ваш SpawnerManager находится в разделе «не уничтожать при загрузке» и продолжает существовать между сценами. Когда вы начинаете свою игру, вы вручную ссылаетесь на создателей к менеджеру, и все в порядке, а затем, когда вы переходите на другую сцену и возвращаетесь туда, где должны быть создатели, в менеджере больше нет ссылок ?

Если это так, то для меня это нормально, ссылки между сценами не поддерживаются, и когда сцена выгружается, ссылки исчезают.

Если я что-то неправильно понял, я был бы рад немного покопаться в решении