Browse Source

6/3更新

添加开机检测网络连接
Jees 4 days ago
parent
commit
a8aba98346

+ 1 - 1
Assets/Scripts/EnviromentSetting.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 public static class EnviromentSetting
 {
     // 服务器ip 正式发布需要替换掉ip
-    public static string serverIp = "http://101.34.23.118";
+    public static string serverIP = "http://101.34.23.118";
 
     //language.json读取和存放
     public static string langFilePath = "Data/languages";

+ 1 - 1
Assets/Scripts/Functions/WebController.cs

@@ -63,7 +63,7 @@ public class WebController : MonoBehaviour {
         wwwForm.AddField("date_time", DateTime.Now.ToString());        // 可选项,以服务器时间为准
 
         // 创建 UnityWebRequest 对象
-        url = EnviromentSetting.serverIp + url;
+        url = EnviromentSetting.serverIP + url;
         using (UnityWebRequest request = UnityWebRequest.Post(url, wwwForm))
         {
             // 发送请求并等待响应

+ 24 - 1
Assets/Scripts/Login/LoginController.cs

@@ -35,6 +35,9 @@ public class LoginController : MonoBehaviour
         regCanvas = canvasPlaceholder.transform.Find("Register Canvas").gameObject;
         createAdoptCanvas = canvasPlaceholder.transform.Find("Create Or Adopt Canvas").gameObject;
         loginCanvas = canvasPlaceholder.transform.Find("Login Canvas").gameObject;
+
+        StartCoroutine(PingServer());
+
         // 判断是否要切换到注册狗的子场景
         if (GameData.subScene == "Login_InitDog")
         {
@@ -54,6 +57,26 @@ public class LoginController : MonoBehaviour
 
     //}
 
+    // 检测是否可以ping到服务器
+    IEnumerator PingServer()
+    {
+        Uri uri = new Uri(EnviromentSetting.serverIP);
+        var ping = new Ping(uri.Host);
+        float pingStartTime = Time.time;
+
+        while (!ping.isDone)
+        {
+            yield return null;
+        }
+
+        if (ping.time == -1)
+        {
+            Debug.LogError("Ping失败");
+            string textValue = GameTool.GetValueAtPath(EnviromentSetting.languageData, new string[] { "game_message", "network_error", EnviromentSetting.languageCode });
+            MessageBoxController.ShowMessage(textValue, ShutDown);
+        }
+    }
+
 
     // LoginToken登录方法
     IEnumerator LoginTokenRequest()
@@ -287,7 +310,7 @@ public class LoginController : MonoBehaviour
     // 切换到生成狗的子场景
     void SwitchToInitDogScene()
     {
-        
+
         createAdoptCanvas.SetActive(true);
         loginCanvas.SetActive(false);
         regCanvas.SetActive(false);