mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-26 10:50:08 +00:00
优化版本检测
This commit is contained in:
@@ -35,6 +35,7 @@ namespace XCharts
|
|||||||
GUILayout.BeginHorizontal();
|
GUILayout.BeginHorizontal();
|
||||||
GUILayout.Label("最新版本:" + mgr.newVersion);
|
GUILayout.Label("最新版本:" + mgr.newVersion);
|
||||||
if (mgr.isCheck) GUILayout.Label("检测中...");
|
if (mgr.isCheck) GUILayout.Label("检测中...");
|
||||||
|
else if (mgr.isNetworkError) GUILayout.Label("检测失败:" + mgr.networkError);
|
||||||
else GUILayout.Label("有更新!");
|
else GUILayout.Label("有更新!");
|
||||||
if (GUILayout.Button("去Github主页"))
|
if (GUILayout.Button("去Github主页"))
|
||||||
{
|
{
|
||||||
@@ -56,22 +57,27 @@ namespace XCharts
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (mgr.isCheck) GUILayout.Label("最新版本:检测中...");
|
if (mgr.isCheck) GUILayout.Label("最新版本:检测中...");
|
||||||
|
else if (mgr.isNetworkError) GUILayout.Label("检测失败:" + mgr.networkError);
|
||||||
else GUILayout.Label("最新版本:" + mgr.newVersion);
|
else GUILayout.Label("最新版本:" + mgr.newVersion);
|
||||||
|
|
||||||
if (!mgr.needUpdate && !mgr.isCheck)
|
GUILayout.Label("");
|
||||||
|
if (!mgr.isNetworkError && !mgr.needUpdate && !mgr.isCheck)
|
||||||
{
|
{
|
||||||
GUILayout.Label("");
|
|
||||||
GUILayout.Label("已是最新版本!");
|
GUILayout.Label("已是最新版本!");
|
||||||
|
}
|
||||||
|
GUILayout.Label("");
|
||||||
|
if (!string.IsNullOrEmpty(mgr.desc))
|
||||||
|
{
|
||||||
|
GUILayout.Label(mgr.desc);
|
||||||
GUILayout.Label("");
|
GUILayout.Label("");
|
||||||
if (!string.IsNullOrEmpty(mgr.desc))
|
}
|
||||||
{
|
if (GUILayout.Button("去Github主页"))
|
||||||
GUILayout.Label(mgr.desc);
|
{
|
||||||
GUILayout.Label("");
|
Application.OpenURL(mgr.homepage);
|
||||||
}
|
}
|
||||||
if (GUILayout.Button("去Github主页"))
|
if (mgr.isNetworkError && GUILayout.Button("重新检测"))
|
||||||
{
|
{
|
||||||
Application.OpenURL(mgr.homepage);
|
XChartsMgr.Instance.CheckVersion();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using System.Text;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using UnityEngine.Networking;
|
||||||
|
|
||||||
namespace XCharts
|
namespace XCharts
|
||||||
{
|
{
|
||||||
@@ -78,6 +79,8 @@ namespace XCharts
|
|||||||
public int newDate { get; private set; }
|
public int newDate { get; private set; }
|
||||||
public int newCheckDate { get; private set; }
|
public int newCheckDate { get; private set; }
|
||||||
public bool isCheck { get; private set; }
|
public bool isCheck { get; private set; }
|
||||||
|
public bool isNetworkError { get; private set; }
|
||||||
|
public string networkError { get; private set; }
|
||||||
|
|
||||||
public bool needUpdate
|
public bool needUpdate
|
||||||
{
|
{
|
||||||
@@ -90,6 +93,8 @@ namespace XCharts
|
|||||||
public void CheckVersion()
|
public void CheckVersion()
|
||||||
{
|
{
|
||||||
isCheck = true;
|
isCheck = true;
|
||||||
|
isNetworkError = false;
|
||||||
|
networkError = "";
|
||||||
StartCoroutine(GetVersion());
|
StartCoroutine(GetVersion());
|
||||||
if (date < newCheckDate)
|
if (date < newCheckDate)
|
||||||
{
|
{
|
||||||
@@ -100,13 +105,17 @@ namespace XCharts
|
|||||||
IEnumerator GetVersion()
|
IEnumerator GetVersion()
|
||||||
{
|
{
|
||||||
var url = "https://raw.githubusercontent.com/monitor1394/unity-ugui-XCharts/master/Assets/XCharts/version.json";
|
var url = "https://raw.githubusercontent.com/monitor1394/unity-ugui-XCharts/master/Assets/XCharts/version.json";
|
||||||
var web = new WWW(url);
|
var web = UnityWebRequest.Get(url);
|
||||||
yield return web;
|
yield return web;
|
||||||
if (!string.IsNullOrEmpty(web.error))
|
if (web.isNetworkError)
|
||||||
Debug.LogError(web.error);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
var cv = JsonUtility.FromJson<XChartsVersion>(web.text);
|
isNetworkError = true;
|
||||||
|
networkError = web.error;
|
||||||
|
m_NewVersion = "-";
|
||||||
|
}
|
||||||
|
else if (web.responseCode == 200)
|
||||||
|
{
|
||||||
|
var cv = JsonUtility.FromJson<XChartsVersion>(web.downloadHandler.text);
|
||||||
m_NewVersion = cv.version + " (" + cv.date + ")";
|
m_NewVersion = cv.version + " (" + cv.date + ")";
|
||||||
newDate = cv.date;
|
newDate = cv.date;
|
||||||
newCheckDate = cv.checkdate;
|
newCheckDate = cv.checkdate;
|
||||||
@@ -115,20 +124,38 @@ namespace XCharts
|
|||||||
web.Dispose();
|
web.Dispose();
|
||||||
isCheck = false;
|
isCheck = false;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
isCheck = false;
|
||||||
|
isNetworkError = true;
|
||||||
|
if (web.responseCode > 0)
|
||||||
|
networkError = web.responseCode.ToString();
|
||||||
|
else if (!string.IsNullOrEmpty(web.error))
|
||||||
|
networkError = web.error;
|
||||||
|
else
|
||||||
|
networkError = "-";
|
||||||
|
m_NewVersion = "-";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IEnumerator GetChangeLog()
|
IEnumerator GetChangeLog()
|
||||||
{
|
{
|
||||||
isCheck = true;
|
isCheck = true;
|
||||||
var url = "https://raw.githubusercontent.com/monitor1394/unity-ugui-XCharts/master/Assets/XCharts/CHANGELOG.md";
|
var url = "https://raw.githubusercontent.com/monitor1394/unity-ugui-XCharts/master/Assets/XCharts/CHANGELOG.md";
|
||||||
var web = new WWW(url);
|
var web = new UnityWebRequest(url);
|
||||||
yield return web;
|
yield return web;
|
||||||
if (!string.IsNullOrEmpty(web.error))
|
if (!web.isNetworkError)
|
||||||
|
{
|
||||||
Debug.LogError(web.error);
|
Debug.LogError(web.error);
|
||||||
|
}
|
||||||
|
else if (web.responseCode == 200)
|
||||||
|
{
|
||||||
|
CheckLog(web.downloadHandler.text);
|
||||||
|
web.Dispose();
|
||||||
|
isCheck = false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CheckLog(web.text);
|
|
||||||
web.Dispose();
|
|
||||||
isCheck = false;
|
isCheck = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user