nuclear_kote
@nuclear_kote

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

Видел решение паузы с Time.timeScale = 0, но по идее под активную паузу не очень подходит, ибо камера и гуй должен остаться рабочим
  • Вопрос задан
  • 320 просмотров
Решения вопроса 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 одной строкой, при этом выставится только активным компонентам.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы