Подскажите, пожалуйста, как мне сделать сохранение по выходу из приложения? Делаю на Unity, код на c#

87
21 мая 2021, 10:50

С сохранением у меня все ок, но оно работает по нажатию определенной кнопки, как мне сделать так, чтобы когда человек выходил из приложения ему выскакивал баннер типа "Сохранить перед выходом? Да/Нет". Я сделал сохранение через PlayerPrefs уже подумываю просто запихать его в метод Update(), хоть это и не разумно, но все же хочется найти менее требовательный, в плане ресурсов, способ.

Answer 1

Для автоматизации сохранения можно использовать методы OnApplicationPause и OnApplicationQuit

private void OnApplicationPause(bool _pause)
{        
    if (!_pause)
    {
        //Игра снимается с паузы (разворячивается, восстанавлдивается)          
    }
    else
    {    
        //Игра ставится на паузе (н-р, сворачивается)
        //Сохранение
        //...
    }
}
private void OnApplicationQuit()
{
    //Приложение завершает работу
    //Сохранение
    //...
}

Эти методы достаточно реализовать (строго с соблюдением регистра!) в одном из скриптов-наследнике MonoBehaviour (на-р SaveManager) и добиться того, что бы этот скрипт всегда был у Вас на сцене.

READ ALSO
Улучшение запроса linq to entity

Улучшение запроса linq to entity

Есть функция, которая отдает объкты, которых нет в БД по пришедшему спискуКак видно, с помощью Read я сначала считываю все данные, а потом отбираю

96
Всегда ли надо ли возвращать IActionResult?

Всегда ли надо ли возвращать IActionResult?

Надо ли возвращать IActionResult во всех случаях когда результата работы функции нет?

118
Профилировщик Visual Studio 2017: Failed to analyze report, Отказано в доступе по пути C:\Program files\dotnet\мой_проект.dll

Профилировщик Visual Studio 2017: Failed to analyze report, Отказано в доступе по пути C:\Program files\dotnet\мой_проект.dll

Попытался сделать профилирование и оно упало с ошибкой, как описано в вопросеЯ понять не могу, зачем он лезет по этому пути: C:\Program files\dotnet\название_моего_проекта

312