From 7ceccc591077b348613dcd1880408b82e2a183d4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 04 十二月 2025 21:20:41 +0800
Subject: [PATCH] 0312 分包下载初版
---
Main/System/AssetVersion/InGameDownLoad.cs | 66 +---
Main/System/AssetVersion/AssetVersionUtility.cs | 1
Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs | 12
Main/System/AssetVersion/AssetVersion.cs | 5
Main/System/Guild/GuildBossManager.cs | 13
Main/System/AssetVersion/InGameDownLoadWin.cs | 357 ++++++++++++++-------------
Main/Config/ConfigManager.cs | 3
Main/System/AssetVersion/DownLoadAndDiscompressHotTask.cs | 5
Main/System/Redpoint/MainRedDot.cs | 3
Main/Core/NetworkPackage/ServerPack/HA3_Function/HA319_tagMCPackDownloadRecord.cs | 28 +-
Main/Config/PartialConfigs/PriorBundleConfig.cs | 68 +---
Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs.meta | 11
Main/System/GeneralConfig/GeneralDefine.cs | 6
Main/Config/Configs/priorbundleConfig.cs | 5
Main/System/AssetVersion/InGameDownLoadProgress.cs | 144 +++++++++++
Main/System/AssetVersion/InGameDownLoadProgress.cs.meta | 11
16 files changed, 440 insertions(+), 298 deletions(-)
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 47c6024..c6aa9df 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -70,6 +70,7 @@
typeof(OrderInfoConfig),
typeof(PlayerAttrConfig),
typeof(PlayerFaceConfig),
+ typeof(PriorBundleConfig),
typeof(RandomNameConfig),
typeof(SignInConfig),
typeof(StoreConfig),
@@ -296,6 +297,8 @@
ClearConfigDictionary<PlayerAttrConfig>();
// 娓呯┖ PlayerFaceConfig 瀛楀吀
ClearConfigDictionary<PlayerFaceConfig>();
+ // 娓呯┖ PriorBundleConfig 瀛楀吀
+ ClearConfigDictionary<PriorBundleConfig>();
// 娓呯┖ RandomNameConfig 瀛楀吀
ClearConfigDictionary<RandomNameConfig>();
// 娓呯┖ SignInConfig 瀛楀吀
diff --git a/Main/Config/Configs/priorbundleConfig.cs b/Main/Config/Configs/priorbundleConfig.cs
index 752da22..a7cf198 100644
--- a/Main/Config/Configs/priorbundleConfig.cs
+++ b/Main/Config/Configs/priorbundleConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2025骞�9鏈�11鏃�
+// [ Date ]: Thursday, December 4, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -20,7 +20,6 @@
public string AssetABName;
public int AssetType;
public int Prior;
- public int mapId;
public override int LoadKey(string _key)
{
@@ -39,8 +38,6 @@
int.TryParse(tables[2],out AssetType);
int.TryParse(tables[3],out Prior);
-
- int.TryParse(tables[4],out mapId);
}
catch (Exception exception)
{
diff --git a/Main/Config/PartialConfigs/PriorBundleConfig.cs b/Main/Config/PartialConfigs/PriorBundleConfig.cs
index 8b03721..734624b 100644
--- a/Main/Config/PartialConfigs/PriorBundleConfig.cs
+++ b/Main/Config/PartialConfigs/PriorBundleConfig.cs
@@ -55,8 +55,6 @@
switch (category)
{
case AssetVersion.AssetCategory.Scene:
- if (fileName == "Map139_Zxt".ToLower())
- return 0;
return m_Scenes.ContainsKey(fileName) ? m_Scenes[fileName].Prior : 100;
case AssetVersion.AssetCategory.Mob:
return m_Mobs.ContainsKey(fileName) ? m_Mobs[fileName].Prior : 101;
@@ -66,57 +64,35 @@
return m_Audios.ContainsKey(fileName) ? m_Audios[fileName].Prior : 103;
case AssetVersion.AssetCategory.Video:
return m_Video.ContainsKey(fileName) ? m_Video[fileName].Prior : 104;
-// case AssetVersion.AssetCategory.UI:
-// {
-// #if UNITY_EDITOR
-// if (m_UI.ContainsKey(fileName))
-// {
-// //鏈夐厤缃殑浼樺厛绾т负1鐨� 涔熶笉鍖呭惈鍦ㄥ寘鍐�
-// if (Launch.GetLaunchStage() != 0)
-// {
-// return m_UI[fileName].Prior;
-// }
-// else
-// {
-// return 2;
-// }
-// }
-// return 0;
-// #else
-// return 0;
- //return m_UI.ContainsKey(fileName) ? m_UI[fileName].Prior : 0;
-// #endif
-
- // }
default:
return 0;
}
}
- //鑾峰彇璧勬簮褰掑睘鐨勫湴鍥緄d
- public static int GetAssetBelongToMap(AssetVersion.AssetCategory category, string fileName)
- {
- if (!categoryInited)
- {
- Init();
- }
+ // //鑾峰彇璧勬簮褰掑睘鐨勫湴鍥緄d
+ // public static int GetAssetBelongToMap(AssetVersion.AssetCategory category, string fileName)
+ // {
+ // if (!categoryInited)
+ // {
+ // Init();
+ // }
- fileName = fileName.ToLower();
- switch (category)
- {
- case AssetVersion.AssetCategory.Scene:
- return m_Scenes.ContainsKey(fileName) ? m_Scenes[fileName].mapId : 0;
- case AssetVersion.AssetCategory.Mob:
- return m_Mobs.ContainsKey(fileName) ? m_Mobs[fileName].mapId : 0;
- case AssetVersion.AssetCategory.Effect:
- return m_Effects.ContainsKey(fileName) ? m_Effects[fileName].mapId : 0;
- case AssetVersion.AssetCategory.Audio:
- return m_Audios.ContainsKey(fileName) ? m_Audios[fileName].mapId : 0;
- default:
- return 0;
- }
- }
+ // fileName = fileName.ToLower();
+ // switch (category)
+ // {
+ // case AssetVersion.AssetCategory.Scene:
+ // return m_Scenes.ContainsKey(fileName) ? m_Scenes[fileName].mapId : 0;
+ // case AssetVersion.AssetCategory.Mob:
+ // return m_Mobs.ContainsKey(fileName) ? m_Mobs[fileName].mapId : 0;
+ // case AssetVersion.AssetCategory.Effect:
+ // return m_Effects.ContainsKey(fileName) ? m_Effects[fileName].mapId : 0;
+ // case AssetVersion.AssetCategory.Audio:
+ // return m_Audios.ContainsKey(fileName) ? m_Audios[fileName].mapId : 0;
+ // default:
+ // return 0;
+ // }
+ // }
}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs
new file mode 100644
index 0000000..0128790
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// A3 19 鍒嗗寘涓嬭浇濂栧姳璁板綍 #tagMCPackDownloadRecord
+
+public class DTCA319_tagMCPackDownloadRecord : DtcBasic {
+ public override void Done(GameNetPackBasic vNetPack) {
+ base.Done(vNetPack);
+ HA319_tagMCPackDownloadRecord vNetData = vNetPack as HA319_tagMCPackDownloadRecord;
+ InGameDownLoad.Instance.UpdateRewardInfo(vNetData);
+ }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs.meta
new file mode 100644
index 0000000..71b8cbe
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA319_tagMCPackDownloadRecord.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f8147ca59895aeb4b8cece6552fcdc46
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA319_tagMCPackDownloadRecord.cs b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA319_tagMCPackDownloadRecord.cs
index 5426a1b..1c88fde 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA319_tagMCPackDownloadRecord.cs
+++ b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA319_tagMCPackDownloadRecord.cs
@@ -1,17 +1,17 @@
using UnityEngine;
using System.Collections;
-// A3 19 鍒嗗寘涓嬭浇濂栧姳璁板綍 #tagMCPackDownloadRecord
-
-public class HA319_tagMCPackDownloadRecord : GameNetPackBasic {
- public byte Record; //0-鏈鍙� 1-宸查鍙�
-
- public HA319_tagMCPackDownloadRecord () {
- _cmd = (ushort)0xA319;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out Record, vBytes, NetDataType.BYTE);
- }
-
-}
+// A3 19 鍒嗗寘涓嬭浇濂栧姳璁板綍 #tagMCPackDownloadRecord
+
+public class HA319_tagMCPackDownloadRecord : GameNetPackBasic {
+ public byte Record; // 0-鏈鍙� 1-宸查鍙�
+
+ public HA319_tagMCPackDownloadRecord () {
+ _cmd = (ushort)0xA319;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out Record, vBytes, NetDataType.BYTE);
+ }
+
+}
diff --git a/Main/System/AssetVersion/AssetVersion.cs b/Main/System/AssetVersion/AssetVersion.cs
index 4c40478..ea58d10 100644
--- a/Main/System/AssetVersion/AssetVersion.cs
+++ b/Main/System/AssetVersion/AssetVersion.cs
@@ -185,9 +185,8 @@
else
{
var category = GetAssetCategory();
- // var prior = PriorBundleConfig.GetAssetPrior(category, AssetVersionUtility.DecodeFileName(m_FileName));
- // return prior <= 1;
- return false;
+ var prior = PriorBundleConfig.GetAssetPrior(category, AssetVersionUtility.DecodeFileName(m_FileName));
+ return prior <= 1;
}
}
else
diff --git a/Main/System/AssetVersion/AssetVersionUtility.cs b/Main/System/AssetVersion/AssetVersionUtility.cs
index 0e21a00..5453d52 100644
--- a/Main/System/AssetVersion/AssetVersionUtility.cs
+++ b/Main/System/AssetVersion/AssetVersionUtility.cs
@@ -101,6 +101,7 @@
{
assetVersionsLocalMd5 = FileExtersion.GetStringMD5Hash(_result);
var assetVersions = UpdateAssetVersions(_result);
+ PriorBundleConfig.LazyInit();
BeginCheckAssets();
}
else
diff --git a/Main/System/AssetVersion/DownLoadAndDiscompressHotTask.cs b/Main/System/AssetVersion/DownLoadAndDiscompressHotTask.cs
index b4a44aa..976abbc 100644
--- a/Main/System/AssetVersion/DownLoadAndDiscompressHotTask.cs
+++ b/Main/System/AssetVersion/DownLoadAndDiscompressHotTask.cs
@@ -87,10 +87,7 @@
step = Step.DownLoad;
Co_StartDownLoad().Forget();
- // SnxxzGame.Instance.StartCoroutine(Co_StartDownLoad());
-
- // TODO YYL
- // GameNotice.OpenGameNotice();
+ GameNotice.OpenGameNotice();
}
protected async UniTask Co_StartDownLoad()
diff --git a/Main/System/AssetVersion/InGameDownLoad.cs b/Main/System/AssetVersion/InGameDownLoad.cs
index 3a5965e..2edd531 100644
--- a/Main/System/AssetVersion/InGameDownLoad.cs
+++ b/Main/System/AssetVersion/InGameDownLoad.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using System;
using System.Text.RegularExpressions;
+using LitJson;
public class InGameDownLoad : SingletonMonobehaviour<InGameDownLoad>
@@ -79,7 +80,7 @@
}
}
- public List<Reward> rewards = new List<Reward>();
+ public int[][] rewards;
public bool hasReward { get; private set; }//鏄惁鏈夊鍔�
public string completeDownLoadAccount
{
@@ -87,7 +88,7 @@
set { LocalSave.SetString("InGameDownLoadCompleteAccount", value); }
}
- public Redpoint downLoadRedpoint = new Redpoint(116);
+ public Redpoint downLoadRedpoint = new Redpoint(MainRedDot.RedPoint_Download);
private void Awake()
{
@@ -151,16 +152,7 @@
{
var assetVersion = this.assets[i];
totalSize += assetVersion.size;//缁熻璧勬簮鎬诲ぇ灏�
- //缁熻鍦板浘涓撳睘鐨勮祫婧� TODO YYL
- // var mapId = PriorBundleConfig.GetAssetBelongToMap(assetVersion.GetAssetCategory(), AssetVersionUtility.DecodeFileName(assetVersion.fileName));
- // if (mapId != 0)
- // {
- // if (!mapTasks.ContainsKey(mapId))
- // {
- // mapTasks[mapId] = new List<AssetVersion>();
- // }
- // mapTasks[mapId].Add(assetVersion);
- // }
+
//娣诲姞涓嬭浇浠诲姟
var remoteURL = StringUtility.Contact(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/", assetVersion.relativePath);
var localURL = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath);
@@ -179,15 +171,14 @@
var categoryA = lhs.GetAssetCategory();
var categoryB = rhs.GetAssetCategory();
- // TODO YYL
- // var priorA = PriorBundleConfig.GetAssetPrior(categoryA, AssetVersionUtility.DecodeFileName(lhs.fileName));
- // var priorB = PriorBundleConfig.GetAssetPrior(categoryB, AssetVersionUtility.DecodeFileName(rhs.fileName));
+ var priorA = PriorBundleConfig.GetAssetPrior(categoryA, AssetVersionUtility.DecodeFileName(lhs.fileName));
+ var priorB = PriorBundleConfig.GetAssetPrior(categoryB, AssetVersionUtility.DecodeFileName(rhs.fileName));
- // if (priorA != priorB)
- // {
- // return priorA < priorB ? -1 : 1;
- // }
- // else
+ if (priorA != priorB)
+ {
+ return priorA < priorB ? -1 : 1;
+ }
+ else
{
var isManifestA = lhs.extersion == ".manifest";
var isManifestB = rhs.extersion == ".manifest";
@@ -265,7 +256,7 @@
state = State.Prepared;
}
dominantState = Dominant.Whole;
- // UIManager.Instance.OpenWindow<InGameDownLoadWin>();
+ UIManager.Instance.OpenWindow<InGameDownLoadWin>();
break;
}
}
@@ -314,7 +305,7 @@
{
if (dominantState == Dominant.None)
{
- RequestDownLoadReward(false);
+ // RequestDownLoadReward(false);
state = State.Completed;
}
else
@@ -340,11 +331,9 @@
public void ParseRewardConfig()
{
- var rewardString = FuncConfigConfig.Get("DownReward").Numerical1;
- var matches = Regex.Matches(rewardString, "(\\d+,\\d+,\\d+)");
- for (int i = 0; i < matches.Count; i++)
+ if (rewards.IsNullOrEmpty())
{
- rewards.Add(new Reward(matches[i].Value));
+ rewards = JsonMapper.ToObject<int[][]>(FuncConfigConfig.Get("DownReward").Numerical1);
}
}
@@ -360,11 +349,11 @@
downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None;
}
- public void RequestDownLoadReward(bool _manual)
+ public void RequestDownLoadReward()
{
var send = new CA504_tagCMPlayerGetReward();
send.RewardType = 15;
- send.DataEx = (byte)(_manual ? 0 : 1);
+ // send.DataEx = (byte)(_manual ? 0 : 1);
GameNetSystem.Instance.SendInfo(send);
}
@@ -667,26 +656,5 @@
Whole = 2,
}
- #region 鐧诲綍涓嬭浇鐣岄潰 DownLoadWin
- // 澧炲姞涓嬭浇濂栧姳 鏍规嵁鏍囪瘑鍐冲畾澶氭鍙戞斁;娉ㄦ剰涓嶈涓庢父鎴忓唴鐨勫畬鏁翠笅杞芥贩娣�
- // 鍚庣画鏀规垚appversion_new澧炲姞鎵╁睍淇℃伅杩斿洖涓嬭浇鏍囪瘑锛岀敤浜庢帶鍒跺綋鍓嶆槸鍚︽樉绀哄鍔�,姝ゅ棣栧寘杩樻湭鍖呭惈鍥剧墖璧勬簮
- public int downloadMark = 0;
-
- public bool IsShowDownloadAward()
- {
- int downloadMark = 0;
- int.TryParse(VersionUtility.Instance.versionInfo.ResourceAward, out downloadMark);
- var mark = LocalSave.GetInt("downloadMark");
- return downloadMark > mark;
-
- }
-
- //涓嬭浇瀹屾瘯鎴愬姛鐧诲綍娓告垙鍗冲彲璁剧疆
- public void SetDownloadMark()
- {
- LocalSave.SetInt("downloadMark", int.Parse(FuncConfigConfig.Get("DownReward").Numerical4));
- }
-
- #endregion
}
\ No newline at end of file
diff --git a/Main/System/AssetVersion/InGameDownLoadProgress.cs b/Main/System/AssetVersion/InGameDownLoadProgress.cs
new file mode 100644
index 0000000..884fb7e
--- /dev/null
+++ b/Main/System/AssetVersion/InGameDownLoadProgress.cs
@@ -0,0 +1,144 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, May 23, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+
+
+public class InGameDownLoadProgress : MonoBehaviour
+{
+ [SerializeField] Text m_ProgressText;
+ [SerializeField] Button m_ViewDownLoad;
+
+ private void Awake()
+ {
+ if (!InGameDownLoad.Instance.hasReward
+ && InGameDownLoad.Instance.completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID)
+ {
+ m_ProgressText.SetActive(true);
+ m_ProgressText.text = "100%";
+ this.SetActive(true);
+ }
+ else if (InGameDownLoad.Instance.dominantState != InGameDownLoad.Dominant.None)
+ {
+ this.SetActive(true);
+ m_ProgressText.SetActive(true);
+ if (InGameDownLoad.Instance.state != InGameDownLoad.State.Completed)
+ {
+ m_ProgressText.text = "100%";
+ }
+ else
+ {
+ var progress = Mathf.RoundToInt(InGameDownLoad.Instance.progress * 100);
+ m_ProgressText.text = StringUtility.Contact(progress, "%");
+ }
+ }
+ else
+ {
+ this.SetActive(false);
+ }
+
+ InGameDownLoad.Instance.downLoadStateChangeEvent += OnDownLoadStateChange;
+ InGameDownLoad.Instance.dominantDownLoadEvent += OnDownLoadDominantStateChange;
+ m_ViewDownLoad.AddListener(OpenInGameDownloadWin);
+ }
+
+ private void OnEnable()
+ {
+ UpdateDownLoadProgress();
+ GlobalTimeEvent.Instance.secondEvent += OnPerSecond;
+ }
+
+ private void OnDisable()
+ {
+ GlobalTimeEvent.Instance.secondEvent -= OnPerSecond;
+ }
+
+ private void OnDestroy()
+ {
+ m_ViewDownLoad.RemoveAllListeners();
+ }
+
+ private void OnDownLoadDominantStateChange(InGameDownLoad.Dominant _dominant)
+ {
+ UpdateDownLoadProgress();
+ this.SetActive(InGameDownLoad.Instance.dominantState != InGameDownLoad.Dominant.None);
+ }
+
+ private void OnDownLoadStateChange(InGameDownLoad.State _step)
+ {
+ switch (_step)
+ {
+ case InGameDownLoad.State.Completed:
+ this.SetActive(false);
+ break;
+ case InGameDownLoad.State.None:
+ case InGameDownLoad.State.Prepared:
+ case InGameDownLoad.State.DownLoad:
+ if (InGameDownLoad.Instance.dominantState != InGameDownLoad.Dominant.None)
+ {
+ UpdateDownLoadProgress();
+ this.SetActive(true);
+ }
+ else
+ {
+ this.SetActive(false);
+ }
+
+ m_ProgressText.SetActive(true);
+ break;
+ case InGameDownLoad.State.Award:
+ this.SetActive(true);
+ m_ProgressText.SetActive(true);
+ m_ProgressText.text = "100%";
+ break;
+ }
+ }
+
+ private void OnPerSecond()
+ {
+ UpdateDownLoadProgress();
+ }
+
+ private void UpdateDownLoadProgress()
+ {
+ if (m_ProgressText != null)
+ {
+ if (InGameDownLoad.Instance.state == InGameDownLoad.State.Award)
+ {
+ m_ProgressText.text = "100%";
+ }
+ else
+ {
+ var progress = Mathf.RoundToInt(InGameDownLoad.Instance.progress * 100);
+ m_ProgressText.text = StringUtility.Contact(Mathf.Clamp(progress, 0, 99), "%");
+ }
+ }
+ }
+
+ private void OpenInGameDownloadWin()
+ {
+ switch (InGameDownLoad.Instance.state)
+ {
+ case InGameDownLoad.State.DownLoad:
+ case InGameDownLoad.State.None:
+ case InGameDownLoad.State.Pause:
+ case InGameDownLoad.State.Prepared:
+ UIManager.Instance.OpenWindow<InGameDownLoadWin>();
+ break;
+ case InGameDownLoad.State.Award:
+ UIManager.Instance.OpenWindow<InGameDownLoadWin>();
+ break;
+ case InGameDownLoad.State.Completed:
+ break;
+ }
+
+ }
+
+}
+
+
+
+
diff --git a/Main/System/AssetVersion/InGameDownLoadProgress.cs.meta b/Main/System/AssetVersion/InGameDownLoadProgress.cs.meta
new file mode 100644
index 0000000..4e259c1
--- /dev/null
+++ b/Main/System/AssetVersion/InGameDownLoadProgress.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5cdfb6559ac6678419c11ea004a5dd19
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/AssetVersion/InGameDownLoadWin.cs b/Main/System/AssetVersion/InGameDownLoadWin.cs
index 2725c8c..0c6fc46 100644
--- a/Main/System/AssetVersion/InGameDownLoadWin.cs
+++ b/Main/System/AssetVersion/InGameDownLoadWin.cs
@@ -10,196 +10,205 @@
using UnityEngine.UI;
- public class InGameDownLoadWin : UIBase
+public class InGameDownLoadWin : UIBase
+{
+ [SerializeField] RectTransform m_ContainerHint;
+ [SerializeField] ItemCell[] items;
+ [SerializeField] RectTransform[] m_RewardGotSigns;
+ [SerializeField] RichText m_Content;
+ [SerializeField] Button m_StartDownLoad;
+ [SerializeField] Button m_PauseDownLoad;
+ [SerializeField] Button m_Award;
+
+ [SerializeField] Transform m_ContainerProgress;
+ [SerializeField] SmoothSlider m_ProgressSlider;
+ [SerializeField] Text m_Progress;
+ [SerializeField] Text m_DownLoadSpeed;
+ // [SerializeField] ToggleButton downLoadGo; //鍔犻�熶笅杞�
+ float timer = 1f;
+
+ #region Built-in
+
+ protected override void InitComponent()
{
- [SerializeField] RectTransform m_RewardGotSign;
- // [SerializeField] RewardPreviewGroup m_RewardGroup;
- [SerializeField] RectTransform m_ContainerHint;
- [SerializeField] RichText m_Content;
- [SerializeField] Button m_StartDownLoad;
- [SerializeField] Button m_PauseDownLoad;
- [SerializeField] Button m_Award;
- [SerializeField] Button m_Close;
+ m_StartDownLoad.AddListener(StartDownLoad);
+ m_PauseDownLoad.AddListener(PauseDownLoad);
+ m_Award.AddListener(Award);
+ // downLoadGo.SetListener(() => {
+ // downLoadGo.isOn = !downLoadGo.isOn;
+ // InGameDownLoad.Instance.downLoadGo = downLoadGo.isOn;
+ // DownloadHotMgr.MaxDownLoadTask = InGameDownLoad.Instance.GetMaxTask();
+ // });
+ }
- [SerializeField] Transform m_ContainerProgress;
- [SerializeField] SmoothSlider m_ProgressSlider;
- [SerializeField] Text m_Progress;
- [SerializeField] Text m_DownLoadSpeed;
- [SerializeField] ToggleButton downLoadGo; //鍔犻�熶笅杞�
- float timer = 1f;
-
- #region Built-in
-
- protected override void InitComponent()
+ protected override void OnPreOpen()
+ {
+ InGameDownLoad.Instance.ParseRewardConfig();
+ timer = 1f;
+ for (int i = 0; i < items.Length; i++)
{
- m_StartDownLoad.AddListener(StartDownLoad);
- m_PauseDownLoad.AddListener(PauseDownLoad);
- m_Award.AddListener(Award);
- m_Close.AddListener(CloseWindow);
- downLoadGo.SetListener(() => {
- downLoadGo.isOn = !downLoadGo.isOn;
- InGameDownLoad.Instance.downLoadGo = downLoadGo.isOn;
- DownloadHotMgr.MaxDownLoadTask = InGameDownLoad.Instance.GetMaxTask();
- });
- }
-
- protected override void OnPreOpen()
- {
- timer = 1f;
- m_RewardGotSign.SetActive(InGameDownLoad.Instance.hasReward);
-
- // var items = new List<Item>();
- // foreach (var reward in InGameDownLoad.Instance.rewards)
- // {
- // items.Add(new Item(reward.id, reward.count));
- // }
-
- // m_RewardGroup.Display(items);
- OnDownLoadStepChange(InGameDownLoad.Instance.state);
- downLoadGo.isOn = InGameDownLoad.Instance.downLoadGo;
- }
-
- protected override void OnOpen()
- {
- InGameDownLoad.Instance.downLoadStateChangeEvent += OnDownLoadStepChange;
- }
-
- protected override void OnPreClose()
- {
- InGameDownLoad.Instance.downLoadStateChangeEvent -= OnDownLoadStepChange;
- }
-
- protected override void OnClose()
- {
- }
- #endregion
-
- private void OnDownLoadStepChange(InGameDownLoad.State _step)
- {
- m_Award.SetActive(_step == InGameDownLoad.State.Award);
- m_PauseDownLoad.SetActive(_step == InGameDownLoad.State.DownLoad);
- m_StartDownLoad.SetActive(_step == InGameDownLoad.State.Prepared || _step == InGameDownLoad.State.Pause);
- m_ContainerProgress.SetActive(_step == InGameDownLoad.State.DownLoad || _step == InGameDownLoad.State.Pause);
-
- if (_step != InGameDownLoad.State.DownLoad)
+ if (i < InGameDownLoad.Instance.rewards.Length)
{
- m_DownLoadSpeed.text = string.Empty;
- }
-
- if (_step == InGameDownLoad.State.Prepared || _step == InGameDownLoad.State.Award)
- {
- m_ContainerHint.SetActive(true);
- DisplayHintContent();
+ items[i].SetActive(true);
+ int itemID = InGameDownLoad.Instance.rewards[i][0];
+ items[i].Init(new ItemCellModel(InGameDownLoad.Instance.rewards[i][0], false, InGameDownLoad.Instance.rewards[i][1]));
+ items[i].button.AddListener(() => {
+ ItemTipUtility.Show(itemID);
+ });
+ m_RewardGotSigns[i].SetActive(InGameDownLoad.Instance.hasReward);
}
else
{
- m_ContainerHint.SetActive(false);
+ items[i].SetActive(false);
}
+
}
- protected void LateUpdate()
- {
- var step = InGameDownLoad.Instance.state;
- if (step == InGameDownLoad.State.DownLoad)
- {
- timer += Time.deltaTime;
- if (timer > 1f)
- {
- timer -= 1f;
- m_ProgressSlider.value = InGameDownLoad.Instance.progress;
- var totalSizeString = ((float)InGameDownLoad.Instance.showTotalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
- var downLoadedSize = Mathf.Clamp(InGameDownLoad.Instance.showDownLoadedSize, 0, InGameDownLoad.Instance.showTotalSize - 1);
- var downLoadedSizeString = ((float)downLoadedSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
- m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSizeString, "M", "/", totalSizeString, "M"));
+ OnDownLoadStepChange(InGameDownLoad.Instance.state);
+ // downLoadGo.isOn = InGameDownLoad.Instance.downLoadGo;
+ }
- if (InGameDownLoad.Instance.showDownLoadedSize >= InGameDownLoad.Instance.showTotalSize)
- {
- m_DownLoadSpeed.text = StringUtility.Contact(UnityEngine.Random.Range(5, 10), "KB/S");
- }
- else
- {
- m_DownLoadSpeed.text = DownloadHotMgr.Instance.SpeedFormat;
- }
+ protected override void OnOpen()
+ {
+ InGameDownLoad.Instance.downLoadStateChangeEvent += OnDownLoadStepChange;
+ }
+
+ protected override void OnPreClose()
+ {
+ InGameDownLoad.Instance.downLoadStateChangeEvent -= OnDownLoadStepChange;
+ }
+
+ protected override void OnClose()
+ {
+ }
+ #endregion
+
+ private void OnDownLoadStepChange(InGameDownLoad.State _step)
+ {
+ m_Award.SetActive(_step == InGameDownLoad.State.Award && !InGameDownLoad.Instance.hasReward);
+ m_PauseDownLoad.SetActive(_step == InGameDownLoad.State.DownLoad);
+ m_StartDownLoad.SetActive(_step == InGameDownLoad.State.Prepared || _step == InGameDownLoad.State.Pause);
+ m_ContainerProgress.SetActive(_step == InGameDownLoad.State.DownLoad || _step == InGameDownLoad.State.Pause);
+
+ if (_step != InGameDownLoad.State.DownLoad)
+ {
+ m_DownLoadSpeed.text = string.Empty;
+ }
+
+ if (_step == InGameDownLoad.State.Prepared || _step == InGameDownLoad.State.Award)
+ {
+ m_ContainerHint.SetActive(true);
+ DisplayHintContent();
+ }
+ else
+ {
+ m_ContainerHint.SetActive(false);
+ }
+ }
+
+ protected void LateUpdate()
+ {
+ var step = InGameDownLoad.Instance.state;
+ if (step == InGameDownLoad.State.DownLoad)
+ {
+ timer += Time.deltaTime;
+ if (timer > 1f)
+ {
+ timer -= 1f;
+ m_ProgressSlider.value = InGameDownLoad.Instance.progress;
+ var totalSizeString = ((float)InGameDownLoad.Instance.showTotalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
+ var downLoadedSize = Mathf.Clamp(InGameDownLoad.Instance.showDownLoadedSize, 0, InGameDownLoad.Instance.showTotalSize - 1);
+ var downLoadedSizeString = ((float)downLoadedSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
+ m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSizeString, "M", "/", totalSizeString, "M"));
+
+ if (InGameDownLoad.Instance.showDownLoadedSize >= InGameDownLoad.Instance.showTotalSize)
+ {
+ m_DownLoadSpeed.text = StringUtility.Contact(UnityEngine.Random.Range(5, 10), "KB/S");
+ }
+ else
+ {
+ m_DownLoadSpeed.text = DownloadHotMgr.Instance.SpeedFormat;
}
}
}
-
- private void DisplayHintContent()
- {
- var step = InGameDownLoad.Instance.state;
-
- switch (step)
- {
- case InGameDownLoad.State.Prepared:
- var totalCount = InGameDownLoad.Instance.showTotalCount;
- var totalSize = InGameDownLoad.Instance.showTotalSize;
- if (totalSize > InGameDownLoad.BYTE_PER_MILLIONBYTE)
- {
- var sizeDescription = ((float)totalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
- m_Content.text = Language.GetFromLocal(19, sizeDescription);
- }
- else
- {
- var sizeDescription = ((float)totalSize / InGameDownLoad.BYTE_PER_KILOBYTE).ToString("f1");
- m_Content.text = Language.GetFromLocal(20, sizeDescription);
- }
- break;
- case InGameDownLoad.State.DownLoad:
- m_Content.text = Language.GetFromLocal(3);
- break;
- case InGameDownLoad.State.Pause:
- m_Content.text = Language.GetFromLocal(21);
- break;
- case InGameDownLoad.State.Award:
- m_Content.text = Language.GetFromLocal(25);
- break;
- }
- }
-
- private void StartDownLoad()
- {
- timer = 1f;
- switch (InGameDownLoad.Instance.state)
- {
- case InGameDownLoad.State.Prepared:
- case InGameDownLoad.State.Pause:
- if (Application.internetReachability == NetworkReachability.NotReachable)
- {
- ServerTipDetails.DisplayNormalTip(Language.GetFromLocal(24));
- }
- else
- {
- InGameDownLoad.Instance.StartDownLoad();
- CloseWindow();
- }
- break;
- default:
- CloseWindow();
- break;
- }
- }
-
- private void PauseDownLoad()
- {
- timer = 1f;
- switch (InGameDownLoad.Instance.state)
- {
- case InGameDownLoad.State.DownLoad:
- InGameDownLoad.Instance.Pause();
- break;
- default:
- break;
- }
- }
-
- private void Award()
- {
- InGameDownLoad.Instance.RequestDownLoadReward(true);
- UIManager.Instance.CloseWindow<InGameDownLoadWin>();
- }
-
}
+ private void DisplayHintContent()
+ {
+ var step = InGameDownLoad.Instance.state;
+
+ switch (step)
+ {
+ case InGameDownLoad.State.Prepared:
+ var totalCount = InGameDownLoad.Instance.showTotalCount;
+ var totalSize = InGameDownLoad.Instance.showTotalSize;
+ if (totalSize > InGameDownLoad.BYTE_PER_MILLIONBYTE)
+ {
+ var sizeDescription = ((float)totalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
+ m_Content.text = Language.GetFromLocal(19, sizeDescription);
+ }
+ else
+ {
+ var sizeDescription = ((float)totalSize / InGameDownLoad.BYTE_PER_KILOBYTE).ToString("f1");
+ m_Content.text = Language.GetFromLocal(20, sizeDescription);
+ }
+ break;
+ case InGameDownLoad.State.DownLoad:
+ m_Content.text = Language.GetFromLocal(3);
+ break;
+ case InGameDownLoad.State.Pause:
+ m_Content.text = Language.GetFromLocal(21);
+ break;
+ case InGameDownLoad.State.Award:
+ m_Content.text = Language.GetFromLocal(25);
+ break;
+ }
+ }
+
+ private void StartDownLoad()
+ {
+ timer = 1f;
+ switch (InGameDownLoad.Instance.state)
+ {
+ case InGameDownLoad.State.Prepared:
+ case InGameDownLoad.State.Pause:
+ if (Application.internetReachability == NetworkReachability.NotReachable)
+ {
+ ServerTipDetails.DisplayNormalTip(Language.GetFromLocal(24));
+ }
+ else
+ {
+ InGameDownLoad.Instance.StartDownLoad();
+ CloseWindow();
+ }
+ break;
+ default:
+ CloseWindow();
+ break;
+ }
+ }
+
+ private void PauseDownLoad()
+ {
+ timer = 1f;
+ switch (InGameDownLoad.Instance.state)
+ {
+ case InGameDownLoad.State.DownLoad:
+ InGameDownLoad.Instance.Pause();
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void Award()
+ {
+ InGameDownLoad.Instance.RequestDownLoadReward();
+ UIManager.Instance.CloseWindow<InGameDownLoadWin>();
+ }
+
+}
+
diff --git a/Main/System/GeneralConfig/GeneralDefine.cs b/Main/System/GeneralConfig/GeneralDefine.cs
index b835f31..1bc4cd7 100644
--- a/Main/System/GeneralConfig/GeneralDefine.cs
+++ b/Main/System/GeneralConfig/GeneralDefine.cs
@@ -23,8 +23,7 @@
public static int rechargeRedpointMinLv { get; private set; }
- public static List<int> inGameDownLoadLevelCheckPoints = null;
- public static List<int> inGameDownLoadTaskCheckPoints = null;
+ public static List<int> inGameDownLoadLevelCheckPoints = new List<int>();
public static int inGameDownLoadHighLevel { get; private set; }
public static Dictionary<int, List<int>> itemPutInPackDict { get; private set; }
@@ -84,6 +83,9 @@
config = FuncConfigConfig.Get("MainRightFunc");
mainRightFuncOpenFuncID = int.Parse(config.Numerical1);
+
+ inGameDownLoadLevelCheckPoints = new List<int>(GetIntArray("InGameDownLoad"));
+ inGameDownLoadHighLevel = GetInt("InGameDownLoad", 2);
}
catch (Exception ex)
{
diff --git a/Main/System/Guild/GuildBossManager.cs b/Main/System/Guild/GuildBossManager.cs
index 107246f..89d1f23 100644
--- a/Main/System/Guild/GuildBossManager.cs
+++ b/Main/System/Guild/GuildBossManager.cs
@@ -1,8 +1,14 @@
+using System.Collections.Generic;
using LitJson;
public class GuildBossManager : GameSystemManager<GuildBossManager>
{
+
+ public Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction> bossActions = new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction>();
+
+
+
//閰嶇疆
public int initSuperHitRate;
public int[] bzAddAttrs;
@@ -81,7 +87,6 @@
return null;
}
-
// 鑾峰彇鍏細涓殑浼ゅ璁板綍鍋氭帓鍚�
public bool UpdateGuildBossInfo(HA513_tagMCFamilyActionInfo vNetData)
{
@@ -90,6 +95,12 @@
return false;
}
+ for (int i = 0; i < vNetData.Count; i++)
+ {
+ bossActions[(int)vNetData.FamilyActionList[i].Value1] = vNetData.FamilyActionList[i];
+ }
+
+
return true;
}
diff --git a/Main/System/Redpoint/MainRedDot.cs b/Main/System/Redpoint/MainRedDot.cs
index 0ff1c94..ec63ea3 100644
--- a/Main/System/Redpoint/MainRedDot.cs
+++ b/Main/System/Redpoint/MainRedDot.cs
@@ -71,7 +71,8 @@
public const int RedPoint_AutoBattleKey = 110;
Redpoint autoBattleRedpoint = new Redpoint(RedPoint_AutoBattleKey);
-
+ public const int RedPoint_Download = 116;
+
//姝﹀皢鍗�
public const int HeroCardRedpoint = 200;
public Redpoint HeroListRedpoint = new Redpoint(MainHerosRedpoint, HeroCardRedpoint);
--
Gitblit v1.8.0