From c31fccecb02f3a3eadb422f58af025362b32d07d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 23 一月 2026 15:44:00 +0800
Subject: [PATCH] 0312 设置热更标识 logicversion 和assetversion 两个文件 的内容md5全异或取最后两个字母

---
 Main/System/Login/LoginManager.cs |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/Main/System/Login/LoginManager.cs b/Main/System/Login/LoginManager.cs
index 1f81e89..424cdda 100644
--- a/Main/System/Login/LoginManager.cs
+++ b/Main/System/Login/LoginManager.cs
@@ -4,6 +4,7 @@
 using System;
 
 
+
 public class LoginManager : ManagerBase<LoginManager>
 {
     public const uint DwVersionNo = 153518004;
@@ -309,22 +310,36 @@
     {
         try
         {
-            string logicVersionMd5 = "";
-            string assetVersionMd5 = "";
+            string logicVersionMd5 = "00";
+            string assetVersionMd5 = "00";
             // 鍒濆鍖栫粨鏋滃瓧鑺傛暟缁�(MD5 鏄� 16 瀛楄妭)
             byte[] resultBytes = new byte[16];
-            foreach (var item in LocalResManager.Instance.assetVersions)
-            {
-                // 瀵规瘡涓� MD5 杩涜寮傛垨杩愮畻
-                byte[] md5Bytes = HexStringToByteArray(item.Value.md5);
-                for (int j = 0; j < 16; j++)
-                {
-                    resultBytes[j] ^= md5Bytes[j];
-                }
 
+            var fieldInfo = typeof(LocalResManager).GetField("assetVersionsForHotCheck", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
+            if (fieldInfo != null)
+            {
+                var assetVersionsObj = fieldInfo.GetValue(null);
+                if (assetVersionsObj != null && assetVersionsObj is IDictionary)
+                {
+                    var assetVersionsForHotCheck = (IDictionary)assetVersionsObj;
+                    foreach (DictionaryEntry item in assetVersionsForHotCheck)
+                    {
+                        var assetVersion = item.Value as LaunchCommon.AssetVersion;
+                        if (assetVersion != null)
+                        {
+                            // 瀵规瘡涓� MD5 杩涜寮傛垨杩愮畻
+                            byte[] md5Bytes = HexStringToByteArray(assetVersion.md5);
+                            for (int j = 0; j < 16; j++)
+                            {
+                                resultBytes[j] ^= md5Bytes[j];
+                            }
+                        }
+                    }
+                    //鍙栨渶鍚庝袱浣�
+                    logicVersionMd5 = BitConverter.ToString(resultBytes).Replace("-", "").ToLower().Substring(14, 2);
+                }
             }
-            //鍙栨渶鍚庝袱浣�
-            logicVersionMd5 = BitConverter.ToString(resultBytes).Replace("-", "").ToLower().Substring(14, 2);
+
 
             resultBytes = new byte[16];
             foreach (var item in AssetVersionUtility.assetVersions)
@@ -343,11 +358,9 @@
         }
         catch
         {
-            Debug.LogError("RefreshHotVersion 閿欒");            
+            Debug.LogError("RefreshHotVersion 閿欒");
         }
     }
-
-    
 
     // 杈呭姪鏂规硶:鍗佸叚杩涘埗瀛楃涓茶浆瀛楄妭鏁扮粍
     private byte[] HexStringToByteArray(string hex)

--
Gitblit v1.8.0