68 lines
1.8 KiB
C#
68 lines
1.8 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class MaintainceChecker : MonoBehaviour
|
|
{
|
|
public static int version = 24;
|
|
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<ServerStatus>(req.text);
|
|
String[] split = {"<td>"};
|
|
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");
|
|
|
|
}
|
|
}
|
|
} |