From 5e441c27f5cf508ed06cd288ce4db3bbede0eee7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 02 十二月 2025 16:38:58 +0800
Subject: [PATCH] 0312 增加支持http获取战报播放-临时版本

---
 Main/System/Settlement/BattleSettlementManager.cs |   85 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/Main/System/Settlement/BattleSettlementManager.cs b/Main/System/Settlement/BattleSettlementManager.cs
index 6f29276..812d3e1 100644
--- a/Main/System/Settlement/BattleSettlementManager.cs
+++ b/Main/System/Settlement/BattleSettlementManager.cs
@@ -1,8 +1,11 @@
 锘�
 
+using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Text;
 using LitJson;
+using UnityEngine;
 
 public partial class BattleSettlementManager : GameSystemManager<BattleSettlementManager>
 {
@@ -143,5 +146,87 @@
         }
         return battleSettlementDic[battleName];
     }
+
+    public void UpdateSettlementData(HB431_tagSCTurnFightRet netData)
+    {
+        var guid = UIHelper.ServerStringTrim(netData.GUID);
+        var date = UIHelper.ServerStringTrim(netData.PathDate);
+        RequestTurnFightData(guid, date, (int)netData.MapID);
+
+    }
+    public void RequestTurnFightData(string guid, string date, int mapID)
+    {
+        //mobile.secondworld.net.cn:53080\S9006\20251202\3042602\5b11338f-cf2c-11f0-a0a0-000c29b22418.tfr
+        var serverID = UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID);
+        var url = "http://mobile.secondworld.net.cn:53080";
+        string assetVersionUrl = string.Empty;
+        
+        if (string.IsNullOrEmpty(date))
+        {
+            //鍏叡鎴樻姤  璺緞锛� C:\TurnFightReport\S鏈嶅姟鍣ㄧ紪鍙穃鍔熻兘鍦板浘ID\鎴樻姤GUID
+            assetVersionUrl = $"{url}/S{serverID}/{mapID}//{guid}.tfr";
+        }
+        else
+        {
+            //涓汉鎴樻姤  璺緞锛� C:\TurnFightReport\S鏈嶅姟鍣ㄧ紪鍙穃鏃ユ湡\鐜╁ID\鎴樻姤GUID
+            assetVersionUrl = $"{url}/S{serverID}/{date}/{PlayerDatas.Instance.baseData.PlayerID}/{guid}.tfr";
+        }
+
+        HttpRequest.Instance.UnityWebRequestTurnFightGet(assetVersionUrl, guid, 3, OnGetTurnFightData);
+    }
+
+    void OnGetTurnFightData(bool _ok, string guid, byte[] _result)
+    {
+        if (_ok)
+        {
+            ReadTurnFightInfo(_result);
+        }
+    }
+
+    GameNetEncode encoder = new GameNetEncode();
+    //鍗曠嫭
+    private void ReadTurnFightInfo(byte[] vBytes)
+    {
+        try
+        {
+            byte[] vPackBytes = vBytes;
+            GameNetPackBasic vNetpack;
+            byte[] vCmdBytes = new byte[2];
+            ServerType socketType = ServerType.B430;
+
+
+            // vPackBytes = encoder.BaseXorSub(vPackBytes);
+            Array.Copy(vPackBytes, 0, vCmdBytes, 0, 2);
+            var cmd = (ushort)((ushort)(vCmdBytes[0] << 8) + vCmdBytes[1]);
+            bool isRegist = false;  // 鏈敞鍐屽皝鍖呭鐞�
+
+            // 澶勭悊涓诲伐绋嬬殑灏佸寘
+            if (PackageRegedit.Contain(cmd))
+            {
+                vNetpack = PackageRegedit.TransPack(socketType, cmd, vPackBytes);
+                if (vNetpack != null)
+                {
+                    GameNetSystem.Instance.PushPackage(vNetpack, socketType);
+                    isRegist = true;
+                }
+            }
+
+            // 鏈敞鍐屽皝鍖呭鐞�
+            if (!isRegist)
+            {
+#if UNITY_EDITOR
+                PackageRegedit.TransPack(socketType, cmd, vPackBytes);
+#endif
+            }
+        }
+        catch (Exception ex)
+        {
+            Debug.LogErrorFormat("ReadTurnFightInfo 鍒嗘瀽鎴樻姤寮傚父锛歿0}", ex);
+        }
+
+    }
+
+
+
 }
 

--
Gitblit v1.8.0