From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则
---
Main/System/AssetVersion/InGameDownLoad.cs | 246 ++++++++++++++++++------------------------------
1 files changed, 92 insertions(+), 154 deletions(-)
diff --git a/Main/System/AssetVersion/InGameDownLoad.cs b/Main/System/AssetVersion/InGameDownLoad.cs
index 648a5a7..6e9d7b0 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>
@@ -27,7 +28,7 @@
public bool isDone { get { return state == State.Completed; } } //鏄惁鍏ㄩ儴涓嬭浇瀹屾垚
//绐楀彛涓樉绀虹殑宸蹭笅杞藉ぇ灏�
- public long showDownLoadedSize { get { return DownloadMgr.Instance.DownloadedBytes - backGroundDownLoadSizeRecord; } }
+ public long showDownLoadedSize { get { return DownloadHotMgr.Instance.DownloadedBytes - backGroundDownLoadSizeRecord; } }
public long showTotalSize { get { return totalSize - backGroundDownLoadSizeRecord; } }//绐楀彛涓樉绀虹殑鎬诲ぇ灏�
public int showTotalCount { get { return totalCount - downLoadedCountRecord; } }//绐楀彛涓樉绀虹殑鎬绘暟閲�
public int showOkCount { get { return okCount - downLoadedCountRecord; } }//绐楀彛涓樉绀虹殑涓嬭浇瀹屾垚鏁伴噺
@@ -79,9 +80,7 @@
}
}
- // TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
-
- public List<Reward> rewards = new List<Reward>();
+ public int[][] rewards;
public bool hasReward { get; private set; }//鏄惁鏈夊鍔�
public string completeDownLoadAccount
{
@@ -89,12 +88,11 @@
set { LocalSave.SetString("InGameDownLoadCompleteAccount", value); }
}
- // TODO YYL
- // public Redpoint downLoadRedpoint = new Redpoint(116);
+ public Redpoint downLoadRedpoint = new Redpoint(MainRedDot.RedPoint_Download);
private void Awake()
{
- DownloadMgr.MaxDownLoadTask = GetMaxTask();
+ DownloadHotMgr.MaxDownLoadTask = GetMaxTask();
}
private void LateUpdate()
@@ -138,45 +136,33 @@
//寮�濮嬪垎閰嶄换鍔�
public void AssignTasks(List<AssetVersion> assets, Action _onDownLoadOk)
{
- // TODO YYL
- // this.inGameDownLoadAllow = false;
- // this.assets = assets;
- // this.assets.Sort(this.AssetDownLoadPriorCompare);//鎵�鏈変换鍔℃牴鎹紭鍏堢骇鎺掑簭
- // onDownLoadOk = _onDownLoadOk;
+
+ this.inGameDownLoadAllow = false;
+ this.assets = assets;
+ this.assets.Sort(this.AssetDownLoadPriorCompare);//鎵�鏈変换鍔℃牴鎹紭鍏堢骇鎺掑簭
+ onDownLoadOk = _onDownLoadOk;
- // totalCount = this.assets.Count;
- // okCount = 0;
- // totalSize = 0;
+ totalCount = this.assets.Count;
+ okCount = 0;
+ totalSize = 0;
- // DownloadMgr.Instance.Prepare();
+ DownloadHotMgr.Instance.Prepare();
- // for (int i = 0; i < this.assets.Count; i++)
- // {
- // var assetVersion = this.assets[i];
- // totalSize += assetVersion.size;//缁熻璧勬簮鎬诲ぇ灏�
- // //缁熻鍦板浘涓撳睘鐨勮祫婧�
- // 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);
- // DownloadMgr.Instance.AddTask(new DownloadTask(remoteURL, localURL, assetVersion));
- // }
+ for (int i = 0; i < this.assets.Count; i++)
+ {
+ var assetVersion = this.assets[i];
+ totalSize += assetVersion.size;//缁熻璧勬簮鎬诲ぇ灏�
- // state = State.None;
+ //娣诲姞涓嬭浇浠诲姟
+ var remoteURL = StringUtility.Concat(VersionUtility.Instance.versionInfo.GetResourcesURL(VersionConfig.Get().branch), Language.fixPath, "/", assetVersion.relativePath);
+ var localURL = StringUtility.Concat(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath);
+ DownloadHotMgr.Instance.AddTask(new DownloadHotTask(remoteURL, localURL, assetVersion));
+ }
- // TaskModel.Event_MainlineTask -= OnMainTaskChange;
- // TaskModel.Event_MainlineTask += OnMainTaskChange;
+ state = State.None;
- // PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange;
- // PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerLevelChange;
+ PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange;
+ PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerLevelChange;
}
//浠诲姟鏍规嵁浼樺厛绾ф帓搴�
@@ -185,16 +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";
@@ -252,7 +236,7 @@
case Dominant.Half:
if (dominantState == Dominant.None)
{
- backGroundDownLoadSizeRecord = DownloadMgr.Instance.DownloadedBytes;
+ backGroundDownLoadSizeRecord = DownloadHotMgr.Instance.DownloadedBytes;
downLoadedCountRecord = okCount;
}
StartDownLoad();
@@ -261,7 +245,7 @@
case Dominant.Whole:
if (dominantState == Dominant.None)
{
- backGroundDownLoadSizeRecord = DownloadMgr.Instance.DownloadedBytes;
+ backGroundDownLoadSizeRecord = DownloadHotMgr.Instance.DownloadedBytes;
downLoadedCountRecord = okCount;
Pause();
state = State.Prepared;
@@ -272,9 +256,7 @@
state = State.Prepared;
}
dominantState = Dominant.Whole;
- // TODO YYL
- // UIManager.Instance.ShowWindow<InGameDownLoadWin>();
- // // WindowCenter.Instance.Open<InGameDownLoadWin>();
+ UIManager.Instance.OpenWindow<InGameDownLoadWin>();
break;
}
}
@@ -285,7 +267,7 @@
if (state == State.None || state == State.Prepared || state == State.Pause)
{
state = State.DownLoad;
- DownloadMgr.Instance.Begin(OnFileDownLoadCompleted);
+ DownloadHotMgr.Instance.Begin(OnFileDownLoadCompleted);
}
}
@@ -294,13 +276,13 @@
{
if (state == State.DownLoad)
{
- DownloadMgr.Instance.Stop();
+ DownloadHotMgr.Instance.Stop();
state = State.Pause;
}
}
//鏂囦欢涓嬭浇瀹屾垚鍥炶皟
- private bool OnFileDownLoadCompleted(bool finished, DownloadTask task)
+ private bool OnFileDownLoadCompleted(bool finished, DownloadHotTask task)
{
if (task.IsDone && task.obj is AssetVersion)
{
@@ -315,71 +297,64 @@
//鎵�鏈変换鍔″畬鎴�
private void OnDownLoadFinished()
{
- // TODO YYL
- // TaskModel.Event_MainlineTask -= OnMainTaskChange;
- // PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange;
+ PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerLevelChange;
- // WindowCenter.Instance.Close<InGameDownLoadWin>();
+ UIManager.Instance.CloseWindow<InGameDownLoadWin>();
- // if (!hasReward)
- // {
- // if (dominantState == Dominant.None)
- // {
- // RequestDownLoadReward(false);
- // state = State.Completed;
- // }
- // else
- // {
- // completeDownLoadAccount = PlayerDatas.Instance.baseData.AccID;
- // state = State.Award;
- // }
- // }
- // else
- // {
- // state = State.Completed;
- // }
+ if (!hasReward)
+ {
+ if (dominantState == Dominant.None)
+ {
+ // RequestDownLoadReward(false);
+ state = State.Completed;
+ }
+ else
+ {
+ completeDownLoadAccount = PlayerDatas.Instance.baseData.AccID;
+ state = State.Award;
+ }
+ }
+ else
+ {
+ state = State.Completed;
+ }
- // downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None;
+ downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None;
- // if (onDownLoadOk != null)
- // {
- // onDownLoadOk();
- // onDownLoadOk = null;
- // }
+ if (onDownLoadOk != null)
+ {
+ onDownLoadOk();
+ onDownLoadOk = null;
+ }
}
public void ParseRewardConfig()
{
- // // TODO YYL
- // var rewardString = FuncConfigConfig.Get("DownReward").Numerical1;
- // var matches = Regex.Matches(rewardString, "(\\d+,\\d+,\\d+)");
- // for (int i = 0; i < matches.Count; i++)
- // {
- // rewards.Add(new Reward(matches[i].Value));
- // }
+ if (rewards.IsNullOrEmpty())
+ {
+ rewards = JsonMapper.ToObject<int[][]>(FuncConfigConfig.Get("DownReward").Numerical1);
+ }
}
- // TODO YYL
- // public void UpdateRewardInfo(HA319_tagMCPackDownloadRecord _package)
- // {
- // hasReward = _package.Record == 1;
-
- // if (AssetVersionUtility.unPriorAssetDownLoadDone)
- // {
- // state = !hasReward && completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID ? State.Award : State.Completed;
- // }
-
- // downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None;
- // }
-
- public void RequestDownLoadReward(bool _manual)
+ public void UpdateRewardInfo(HA319_tagMCPackDownloadRecord _package)
{
- // TODO YYL
- // var send = new CA504_tagCMPlayerGetReward();
- // send.RewardType = 15;
+ hasReward = _package.Record == 1;
+
+ if (AssetVersionUtility.unPriorAssetDownLoadDone)
+ {
+ state = !hasReward && completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID ? State.Award : State.Completed;
+ }
+
+ downLoadRedpoint.state = state == State.Award ? RedPointState.Simple : RedPointState.None;
+ }
+
+ public void RequestDownLoadReward()
+ {
+ var send = new CA504_tagCMPlayerGetReward();
+ send.RewardType = 15;
// send.DataEx = (byte)(_manual ? 0 : 1);
- // GameNetSystem.Instance.SendInfo(send);
+ GameNetSystem.Instance.SendInfo(send);
}
public float GetMapAssetDownLoadProgress(int mapId)
@@ -540,11 +515,10 @@
}
- // TODO YYL
- // if (!WindowCenter.Instance.IsOpen("MainInterfaceWin"))
- // {
- // return false;
- // }
+ if (!UIManager.Instance.IsOpened<MainWin>())
+ {
+ return false;
+ }
// if (WindowCenter.Instance.ExistAnyFullScreenOrMaskWin())
// {
@@ -586,27 +560,12 @@
}
}
- //涓荤嚎浠诲姟浠诲姟鐘舵�佸彉鏇村拰鍒锋柊
- private void OnMainTaskChange(int _taskId, int _state)
- {
- // TODO YYL
- // var mainTaskId = taskModel.currentMission;
- // if (GeneralDefine.inGameDownLoadTaskCheckPoints.Contains(mainTaskId)
- // && taskModel.currentMissionState == 1)
- // {
- // if (CheckDominantDownLoad())
- // {
- // TryDownLoad(Dominant.Whole);
- // }
- // }
- }
//鑾峰彇鏈�澶т笅杞戒换鍔℃暟
public int GetMaxTask()
{
- // TODO YYL
- // if (!LoginWin.firstOpenEnd)
- // return 20;
+ if (!LoginWin.firstOpenEnd)
+ return 20;
if (downLoadGo)
return 20;
@@ -692,31 +651,10 @@
public enum Dominant
{
- None = 0,
+ None = 0, // 闈欐�佷笅杞�
Half = 1,
- Whole = 2,
+ 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
--
Gitblit v1.8.0