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