Я проверяю подключение к интернету, используя следующий скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CheckInternets : MonoBehaviour
{
private string url = "some photo on my google drive";
private string wwww;
public static bool InternetON = false;
// Start is called before the first frame update
void Start()
{
StartCoroutine(CheckConnection());
}
IEnumerator CheckConnection()
{
var www = new WWW(url);
yield return www;
if (www.isDone && www.bytesDownloaded > 0)
{
InternetON = true;
Debug.Log("MAIN Script Check :: Online! :)");
}
if (www.isDone && www.bytesDownloaded == 0)
{
InternetON = false;
Debug.LogWarning("MAIN Script Check :: Offline! :(");
}
}
}
Пробовал это на моем (Android) телефоне, подключенном к мобильным данным (без него), он работает просто отлично.
Проблемы возникают, как только я ссылаюсь на InternetON
bool в других скриптах, то есть указанные скрипты всегда читают его как false
(или true
, если я устанавливаю его в thatIn CheckInternets.cs), так что я догадываюсь, что яя ссылаюсь на него неправильно, или я неправильно использую bool, но не могу понять, как это сделать.
Пример других сценариев:
void Start()
{
if (CheckInternets.InternetON)
{
//do some stuff
Debug.Log("OTHER Script Check :: Online! :)");
}
else
{
//do some other stuff
Debug.Log("OTHER Script Check :: Offline! :(");
}
}
В этом случае, если яЯ нахожусь в сети, моя Консоль будет читать:
Если я в автономном режиме, он будет говорить Offline для них обоих.
Есть совет?Ура!