Quellcode durchsuchen

6/25更新

2025/6/25	修复login页面检测服务器连接完成前,点击忘记密码,然后放弃服务器检测的问题
Jees vor 20 Stunden
Ursprung
Commit
ec82191900

+ 17 - 17
Assets/Scenes/Login.unity

@@ -264,7 +264,7 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 1349309770}
+      - m_Target: {fileID: 1751824542}
         m_TargetAssemblyTypeName: LoginController, Assembly-CSharp
         m_MethodName: Login
         m_Mode: 1
@@ -397,7 +397,7 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 1349309770}
+      - m_Target: {fileID: 1751824542}
         m_TargetAssemblyTypeName: LoginController, Assembly-CSharp
         m_MethodName: QuickStart
         m_Mode: 1
@@ -3733,7 +3733,6 @@ GameObject:
   - component: {fileID: 1349309766}
   - component: {fileID: 1349309765}
   - component: {fileID: 1349309769}
-  - component: {fileID: 1349309770}
   m_Layer: 5
   m_Name: Login Canvas
   m_TagString: Untagged
@@ -3844,18 +3843,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: abe21f0f575425d4db061540121e2f5b, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
---- !u!114 &1349309770
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1349309764}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: c52c89405d9917140bca2187d7a1e93a, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!1001 &1389830019
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -4117,7 +4104,7 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 1349309770}
+      - m_Target: {fileID: 0}
         m_TargetAssemblyTypeName: LoginController, Assembly-CSharp
         m_MethodName: ShutDown
         m_Mode: 1
@@ -4571,6 +4558,7 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 1751824541}
+  - component: {fileID: 1751824542}
   m_Layer: 0
   m_Name: Canvas Placeholder
   m_TagString: Untagged
@@ -4599,6 +4587,18 @@ Transform:
   - {fileID: 1016814390}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1751824542
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1751824540}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c52c89405d9917140bca2187d7a1e93a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &1863178294 stripped
 GameObject:
   m_CorrespondingSourceObject: {fileID: 9170027422479897858, guid: fd35a4f041d705948957f1725fa81c41, type: 3}
@@ -4687,7 +4687,7 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls:
-      - m_Target: {fileID: 1349309770}
+      - m_Target: {fileID: 1751824542}
         m_TargetAssemblyTypeName: LoginController, Assembly-CSharp
         m_MethodName: ResetPassword
         m_Mode: 1

+ 2 - 2
Assets/Scenes/Login/Reset UI.uxml

@@ -2,11 +2,11 @@
     <Style src="project://database/Assets/UI%20Toolkit/Style/rootStyle.uss?fileID=7433441132597879392&amp;guid=b30eb17a0ca8bf64087af4e59d565fdd&amp;type=3#rootStyle" />
     <ui:VisualElement name="background" class="rootStyle" style="flex-grow: 1; background-image: url(&quot;project://database/Assets/Pictures/Login/mailbox.png?fileID=2800000&amp;guid=2a15d5247bbd45e4c8ad28ecec71f99e&amp;type=3#mailbox&quot;);">
         <ui:TextField label="手机号码" name="mobile" class="textField" />
-        <ui:TextField label="Email" name="email" class="textField" />
+        <ui:TextField label="Email" name="email" class="textField textField__multiline" />
         <ui:Label text="message here" name="message" class="message" />
         <ui:TextField label="验证码" name="verification" mask-character="*" max-length="6" class="textField" />
         <ui:TextField label="新的密码" name="password" password="true" class="textField" />
-        <ui:Label text="message here" name="error_msg" class="message err_msg" />
+        <ui:Label text="message here" name="error_msg" class="err_msg" style="white-space: normal;" />
         <ui:VisualElement style="flex-grow: 1; flex-direction: row; justify-content: space-around; margin-top: 26px;">
             <ui:Button text="Submit" name="submit" class="button" />
             <ui:Button text="Cancel" name="cancel" class="button" style="background-color: rgba(236, 67, 37, 0.78);" />

+ 2 - 2
Assets/Scenes/WalkDogs.unity

@@ -1025,7 +1025,7 @@ Transform:
   m_GameObject: {fileID: 844310270}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: -2, z: 5.66}
+  m_LocalPosition: {x: 0, y: -2, z: 5.25}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 1
   m_Children: []
@@ -1219,7 +1219,7 @@ Transform:
   m_GameObject: {fileID: 992489242}
   serializedVersion: 2
   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: -1.97, z: 2.57}
+  m_LocalPosition: {x: 0, y: -1.97, z: 2.25}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []

+ 7 - 7
Assets/Scripts/Develop Script/TestSetup.cs

@@ -62,14 +62,14 @@ public class TestSetup : MonoBehaviour
     {
         if (SceneManager.GetActiveScene().name == "Login")
         {
-            PlayerPrefs.SetString("LoginToken", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiSlRZTlpQOU8iLCJleHAiOjE3NTY1NDUxNzd9.oQgjY_6ZHJVYaYxh2b_LMIkUaCJ9FX8UpxpHOt_yLg8");
-            DateTime now = DateTime.Now;
-            DateTime oneHourAgo = now.AddHours(-1);
-            PlayerPrefs.SetString("LoginTokenTime", oneHourAgo.ToString());
-            EnviromentSetting.UUID = "abc";
+            // PlayerPrefs.SetString("LoginToken", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiSlRZTlpQOU8iLCJleHAiOjE3NTY1NDUxNzd9.oQgjY_6ZHJVYaYxh2b_LMIkUaCJ9FX8UpxpHOt_yLg8");
+            // DateTime now = DateTime.Now;
+            // DateTime oneHourAgo = now.AddHours(-1);
+            // PlayerPrefs.SetString("LoginTokenTime", oneHourAgo.ToString());
+            // EnviromentSetting.UUID = "abc";
 
-            // PlayerPrefs.DeleteAll();
-            // EnviromentSetting.languageCode = "en";
+            PlayerPrefs.DeleteAll();
+            EnviromentSetting.languageCode = "en";
         }
 
         //Debug.Log("Login token" + PlayerPrefs.GetString("LoginToken"));

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

@@ -138,11 +138,12 @@ public class WebController : MonoBehaviour
                 else
                 {
                     Debug.Log("上次使用的服务器可用: " + fullUrl);
+                    GameData.serverAliveCheckPassed = true; // 标记服务器存活检查通过
                     yield break; // 如果上次使用的服务器可用,直接返回
                 }
             }
         }
-        
+
         int serverIPIndex = 0;
         foreach (string serverIP in EnviromentSetting.serverIPs)
         {
@@ -161,6 +162,7 @@ public class WebController : MonoBehaviour
                     Debug.Log("服务器可用: " + fullUrl);
                     EnviromentSetting.serverIP = serverIP; // 更新当前使用的服务器IP
                     PlayerPrefs.SetString("last_serverIP", serverIP); // 保存到PlayerPrefs
+                    GameData.serverAliveCheckPassed = true; // 标记服务器存活检查通过
                     yield break; // 如果有一个服务器可用,直接返回
                 }
             }

+ 1 - 0
Assets/Scripts/GameControllers/GameData.cs

@@ -14,6 +14,7 @@ public static class GameData
     // public static bool isFirstInteraction = true;        // 是否第一次互动
     public static DateTime lastFeedbackTime = new DateTime(2000, 1, 1);        // 上次反馈的时间
     public static float noteStartLeadTime = 4f;        // 音符提前创建的时间
+    public static bool serverAliveCheckPassed = false;        // 服务器存活检查是否通过
     #endregion
 
     #region 临时保存数据

+ 8 - 20
Assets/Scripts/Login/LoginController.cs

@@ -59,30 +59,18 @@ public class LoginController : MonoBehaviour
 
     //}
 
-    // 检测是否可以ping到服务器
-    IEnumerator PingServer()
+    // LoginToken登录方法
+    IEnumerator LoginTokenRequest()
     {
-        Uri uri = new Uri(EnviromentSetting.serverIP);
-        var ping = new Ping(uri.Host);
-        float pingStartTime = Time.time;
-
-        while (!ping.isDone)
+        while (!GameData.serverAliveCheckPassed)
         {
-            yield return null;
+            // 等待服务器存活检查通过
+            yield return new WaitForSeconds(0.25f);
         }
+        // 将登录,快速开始,忘记密码三个按键激活
+        var loginCanvas = GameObject.Find("Canvas Placeholder").transform.Find("Login Canvas").gameObject;
+        loginCanvas.SetActive(true);
 
-        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()
-    {
         Debug.Log("LoginToken Request start");
         string UUID = SystemInfo.deviceUniqueIdentifier; // 这里需要考虑这段代码执行在Enviroment Controller之前
         string LoginToken = PlayerPrefs.GetString("LoginToken", null);

+ 1 - 2
Assets/Scripts/Login/ResetUIController.cs

@@ -168,7 +168,7 @@ public class ResetUIController : MonoBehaviour
                 ConditionSetting(sceneCondition.GetHashCode());
             }
         }
-        else if (data != null && data["status"] == "error")
+        else if (data != null && data["status"] == "fail")
         {
             int errorCode = int.Parse(data["code"]);
             // 找不到对应的账户
@@ -179,7 +179,6 @@ public class ResetUIController : MonoBehaviour
             // 尝试太多次数
             if (errorCode == 612)
             {
-
                 errorText += errorMessageDict["too_many_attempts"];
             }
         }

+ 1 - 1
Assets/UI Toolkit/Style/rootStyle.uss

@@ -86,7 +86,7 @@
     justify-content: flex-start;
     position: relative;
     min-height: 40px;
-    -unity-text-align: upper-left;
+    -unity-text-align: middle-left;
 }
 
 .textField__multiline > .unity-base-field__input > .unity-base-text-field__multiline-container {