Удалить Не уничтожить при загрузке - PullRequest
0 голосов
/ 08 октября 2018

Привет, я делаю игру, основанную на меню пиццы, и у меня есть много объектов в моей сцене menuCard, где они имеют «Не разрушать при нагрузке», чтобы я мог переместить их на следующий экран, но когда я хочу прийтивернуться к сцене menuCard Я не хочу, чтобы объект, который не разрушился при подключенной нагрузке

Menu Card => Где все мои объекты - сцена 1 =>, где я хочу переместить их на следующий экран.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Одним из подходов является сохранение ссылок на экземпляры DontDestroyOnLoad и удаление дубликатов во время создания.Просто добавьте этот сценарий к объекту в сцене, который вы не хотите уничтожать, и установите уникальный идентификатор в поле инспектора.

    public class DontDestroyOnLoad : MonoBehaviour 
    {
        [SerializeField] string _id;

        public static DontDestroyOnLoad Get(string id)
        {
            var instances = FindObjectsOfType<DontDestroyOnLoad>();
            return instances.FirstOrDefault(i => i._id == id);
        }

        void Awake()
        {
            if (string.IsNullOrEmpty(_id))
            {
                _id = Guid.NewGuid().ToString();
            }

            var instance = Get(_id);

            if (instance != null && instance != this)
            {
                Destroy(instance.gameObject);
            }
            DontDestroyOnLoad(gameObject) ;
        }
    }
0 голосов
/ 08 октября 2018

Не пытайтесь сбросить DontDestroyOnLoad.Разделите их на их собственную сцену и загрузите их отдельно из меню Card Scene в первую очередь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...