Как отправить данные через ServerRpc сразу когда срабатывает OnApplicationPause() на Андроиде?
Делаю игру с мультиплеером используя Netcode For Gameobjects и Unity Relay и столкнулся с такой проблемой: когда Хост сворачивает игру на телефоне то игра у клиентов продолжается, но данные от сервера никакие не поступают (к примеру, таймер, который просто останавливается и возобновляется когда хост возвращается в игру). Чтобы избежать подобного решил включать Паузу у всех клиентов используя OnApplicationPause() и отправляя всем данные, что игра на паузе и должно открываться меню паузы у всех, пока хост не вернется, используя следующий код:
private NetworkVariable<bool> _gamePaused = new(false); //Identification for game pause
public bool gamePaused { get => _gamePaused.Value; set => _gamePaused.Value = value; }
void OnApplicationPause(bool pauseStatus)
{
if(IsHost && pauseStatus){
EnablePauseWindowServerRpc(pauseStatus);
}
}
[ServerRpc(RequireOwnership = false)]
private void EnablePauseWindowServerRpc(bool pauseStatus)
{
gamePaused = pauseStatus;
}
И, соответственно, в апдейте открываю или закрываю окно паузы у клиентов в зависимости от значения переменной pauseStatus. Но! ServerRpc запрос не срабатывает как только Хост свернул окно/игру (как должно), а только когда он снова возвращается в игру! Т.е. когда хост не активен - ничего по сути и не работает..
Перерыл кучу информации в сети и видел не мало подобных вопросов, однако решения так нигде и не увидел :( Помогите разобраться и куда копать или что с этим можно сделать?