using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class MaintainceChecker : MonoBehaviour { public static int version = 23; public static MaintainceChecker instance; public int checkInterval = 30; float t; void Start() { instance =this; CheckMaintainceStatus(); } // Update is called once per frame void Update() { if(t < checkInterval){ t+= Time.deltaTime; }else{ t=0; CheckMaintainceStatus(); } } public void CheckMaintainceStatus(){ StartCoroutine(checkMaintaince()); } IEnumerator checkMaintaince(){ WWW req = new WWW(DBmanager.phpRoot+"get_server_status.php"); yield return req; Debug.Log(req.text); try{ // ServerStatus status = JsonUtility.FromJson(req.text); String[] split = {""}; String[] data = req.text.Split(split, StringSplitOptions.RemoveEmptyEntries); foreach(String item in data){ String[] _item = item.Split(','); if(_item[0]=="maintaince"){ if(_item[1] == "1"){ //Maintaince mode LoadingScreen.instance.LoadLevel("Maintaince"); } } if(_item[0]=="version"){ if(int.Parse(_item[1]) != version){ LoadingScreen.instance.LoadLevel("Update"); } } } }catch(Exception e){ Debug.Log("Error while reading server status, Going maintaince mode"); Debug.LogError(e.Message); LoadingScreen.instance.LoadLevel("Maintaince"); } } }