Что сериализовать в Unity, когда приложение приостанавливается - PullRequest
0 голосов
/ 13 июня 2018

Я работаю над мобильной игрой, и сцена содержит:

  • 3 разных gameObjects - каждый содержит скрипт для статического класса-одиночки (всего 3 класса)
  • 20 префабов gameObject со сценариями свойств
  • 1 image

Что мне нужно сериализовать, например, при получении входящего вызова?

При чтении документации Unity, Я вижу, что существует встроенная сериализация , это правда?

Мои вопросы:

  1. Могу ли я сериализовать 3 синглтон-класса?(один из них - менеджер игр) Я подумал, что не могу сериализовать статические классы
  2. Использует ли Unity встроенную сериализацию для хранения информации о преобразовании префаба и других компонентах, таких как свойства AudioSource, скриптыи анимация
  3. Что произойдет, если анимация приостанавливается во время игры?

Я не хочу терять важную информацию при приостановке игры и повторном запуске.

1 Ответ

0 голосов
/ 13 июня 2018

Для 1. и 2. :

Как правило, вам не следует сериализовать классы, такие как GameManager, или компоненты, подобные Transform.Вместо этого сериализуйте значения , которые определяют их состояние .Например, вы можете сериализовать position, rotation и scale (которые являются простыми структурами, такими как Vector3 или Quaternion) и установить transform с этими значениями после паузы.

3. :

Вы можете легко приостановить анимацию с помощью:

animator.enabled = false;

Наконец :

Рассмотрите возможность использованияTime.timeScale и Time.fixedDeltaTime для приостановки вашей игры.

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