Задать вопрос
nuclear_kote
@nuclear_kote

Как реализовать активную паузу?

Видел решение паузы с Time.timeScale = 0, но по идее под активную паузу не очень подходит, ибо камера и гуй должен остаться рабочим
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Инженер
по тестированию
    10 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Решения вопроса 1
@I_GRIN_I
Можно создать класс, наследуемы от MonoBehaviour, назовем его MonoBehaviourPaused, добавляешь в него protected bool IsPause, и чекаешь в нужных проверках это свойство. Таким образом ты можешь ставить на паузу отдельные компоненты в любой момент времени. Можно еще добавить PauseManager, в нем создать метод SetPause, а так же переменную IsPauseGlobal, а в MonoBehaviourPaused добавить static List ActiveList, а так же 2 метода OnEnable и OnDisable, в OnEnable можно чекать на IsPauseGlobal и выставлять IsPause, а так же добавлять this в статический лист, а в OnDisable убирать из этого листа. В методе SetPause в PauseManager проходишься по листу MonoBehaviourPaused.ActiveList и выставляешь всем IsPause, таким образом можешь всем выставить IsPause одной строкой, при этом выставится только активным компонентам.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы