Единство: постоянство между сценами практический совет - PullRequest
0 голосов
/ 28 октября 2018

Итак, я провел много исследований, и вкратце решил создать игровой менеджер с dontdestroyonload для настойчивости.

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

Так что, если я присоединю всех своих членов команды к игровому менеджеру, он сохранит их статистику, но также сохранит все остальное: модель, сценарии сражений и т. Д. Мне просто нужно сохранить их статистику.Так как же это делают другие на практике?

Я думал о добавлении кода для уничтожения скриптов и компонентов, которые мне не нужны, а затем снова присоединяю их, когда начинается битва, но я просто чувствую, что она взломана, и я упускаю лучшее решениетам.Я смотрел на профессиональные пакеты и никогда не видел, чтобы кто-то делал это, похоже, что они хранят статистику где-то еще и просто создают префаб в бою.

1 Ответ

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

Почему этот код вообще нужно прикреплять к игровому объекту?

Нет смысла расширять MonoBehaviour для вещей, которые "хранят данные" и прикрепляют их к GameObject (который затемникогда не уничтожается).Это результат того, что вы новичок в Unity, и каждый раз, когда вы создаете сценарий, Unity автоматически расширяет его MonoBehaviour, и вы начинаете думать, что ВСЕ должно быть присоединено к игровому объекту и рассматриваться как один.Вам не нужно делать это. Вот класс , который ничего не расширяет (он реализует ISerializable, но здесь это не актуально).

Вместо этого вы можете захотеть взглянуть на объекты сценариев ,или используйте какой-либо другой способ хранения данных игрока (например, ваш класс GameManager может быть одноэлементным со статической ссылкой instance).То, что лучше всего работает для вашего проекта, в основном зависит от вас: вы больше всего знаете о своих целях, вам нужно оценить свои варианты и выяснить, что работает для вас.

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