Я работаю в системе, которая автоматически генерирует и выпускает объект сценариев, представляющий уникальность для игрового объекта с указанным вложением компонента.
Процесс генерации, кажется, работает очень хорошо, но я столкнулся с проблемой когда я хочу выпустить объект сценариев. Данный сценарий помечен «ExecuteInEditMode» и реализует метод OnDestroy для объявления менеджера о том, что его объект сценариев должен быть удален. Проблема в том, что OnDestroy вызывается в 4 ситуациях из того, что я могу сказать:
- Нажмите на игру
- Переключение сцены
- Удаление вручную (единственный, который я хочу работать с)
- При закрытии редактора
Сначала я смог обойти 2:
if (Application.isPlaying == false && Math.Abs(Time.timeSinceLevelLoad) > 0.00001f)
Но я не найти хорошее решение для «При закрытии редактора». Я видел, что EditorApplication.quitting можно использовать для этого случая, но документация предупреждает, что это событие не вызывается, когда unity cra sh или принудительно завершается, и я не Я не хочу потерять все мои объекты сценариев, если редактор cra sh.
Я ищу надежное решение, чтобы избежать этой проблемы, если кто-то может мне помочь, пожалуйста.
Спасибо, имейте хороший день