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