728x90
Unity로 게임을 개발하다 보면, 네트워크 상태 체킹이 필요할 때가 있다.
이럴 때 아래와 같이 간단히 처리할 수 있다.
using System;
using UnityEngine;
...
IEnumerator checkInternetConnection(Action<bool> action){
WWW www = new WWW("http://google.com");
yield return www;
if (www.error != null) {
action (false);
} else {
action (true);
}
}
void Start(){
StartCoroutine(checkInternetConnection((isConnected)=>{
// handle connection status here
}));
}
아래의 예제는 위의 방법으로 네트워크 상태를 체크하여,
네트워크가 연결되었을 시 씬을 이동하고, 연결되지 않았을 시에는 안내 팝업을 띄우는 코드이다.
public void onClickTabToStart()
{
StartCoroutine(checkInternetConnection((isConnected) =>
{
if (isConnected)
{
SceneManager.LoadScene("SelectGame");
} else
{
openNetworkCheckPopup();
}
}));
...
}
실제 기기에서 네트워크를 끄고 테스트해보았을때, 다음과 같이 정상 체크됨을 확인할 수 있었다.
#Reference
반응형
'Unity' 카테고리의 다른 글
[Unity] Visual Studio에서 Intellisence가 적용되지 않을 때 (0) | 2022.11.26 |
---|