| Main/Config/PartialConfigs/ModelConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/PhantasmPavilion/PhantasmPavilionManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Config/PartialConfigs/ModelConfig.cs
@@ -19,7 +19,21 @@ { return new List<int>(); } return tabTypeDict[tabType]; } } List<int> allKeys = tabTypeDict[tabType]; List<int> validKeys = new List<int>(); for (int i = 0; i < allKeys.Count; i++) { int id = allKeys[i]; var cfg = Get(id); // 过滤未达到开服天数的武将和皮肤头像 if (PhantasmPavilionManager.Instance.IsFaceOrModelVisible(cfg.UnlockWay, cfg.UnlockValue)) { validKeys.Add(id); } } return validKeys; } } Main/System/PhantasmPavilion/PhantasmPavilionFaceHandler.cs
@@ -8,7 +8,20 @@ } public List<int> GetKeyList() { return PlayerFaceConfig.GetKeys(); List<int> allKeys = PlayerFaceConfig.GetKeys(); List<int> validKeys = new List<int>(); for (int i = 0; i < allKeys.Count; i++) { int id = allKeys[i]; var faceCfg = PlayerFaceConfig.Get(id); // 过滤未达到开服天数的武将和皮肤头像 if (PhantasmPavilionManager.Instance.IsFaceOrModelVisible(faceCfg.UnlockWay, faceCfg.UnlockValue)) { validKeys.Add(id); } } return validKeys; } public int GetResourceType(int id) { Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs
@@ -87,6 +87,7 @@ manager.OnUpdateFaceInfoEvent += OnUpdateFaceInfoEvent; manager.OnUpdateFacePicInfo += OnUpdateFacePicInfo; manager.OnTimeOut += OnTimeOut; TimeMgr.Instance.OnDayEvent += OnDayEvent; InitRedPoint(); SelectTiltleBtn(); } @@ -106,11 +107,17 @@ manager.OnUpdateFaceInfoEvent -= OnUpdateFaceInfoEvent; manager.OnUpdateFacePicInfo -= OnUpdateFacePicInfo; manager.OnTimeOut -= OnTimeOut; TimeMgr.Instance.OnDayEvent -= OnDayEvent; manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Face, functionOrder + 1); manager.UpdateRedPoint(); } private void OnDayEvent() { SelectTiltleBtn(); } private void OnTimeOut() { RefreshAll(manager.nowType); Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
@@ -54,6 +54,7 @@ GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; HeroUIManager.Instance.OnNewSkinAcquired += OnNewSkinAcquired; TimeMgr.Instance.OnDayEvent += OnDayEvent; InitTable(); InitTabRedPoint(); } @@ -67,6 +68,12 @@ GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; HeroUIManager.Instance.OnNewSkinAcquired -= OnNewSkinAcquired; TimeMgr.Instance.OnDayEvent -= OnDayEvent; } private void OnDayEvent() { UpdateRedPoint(); } private void OnNewSkinAcquired(int arg1, int arg2) @@ -675,6 +682,41 @@ OnTimeOut?.Invoke(); } /// <summary> /// 判断该形象/头像是否可以显示在幻境阁列表中 /// </summary> public bool IsFaceOrModelVisible(int unlockWay, int unlockValue) { if (unlockWay == 3) { int heroId = unlockValue; return IsHeroCollectionOpen(heroId); } else if (unlockWay == 4) { // 皮肤途径,UnlockValue 是 SkinID int skinId = unlockValue; return IsHeroCollectionOpen(HeroConfig.GetHeroIDBySkinID(skinId)); } // 其他获取途径(如活动、默认等),不做限制,直接显示 return true; } /// <summary> /// 检查对应武将是否达到了开服天数要求 /// </summary> public bool IsHeroCollectionOpen(int heroId) { var config = HeroConfig.Get(heroId); if (config == null) return false; // 0表示不限制开服天数 if (config.OpenCollectionDay > 0 && TimeUtility.OpenDay + 1 < config.OpenCollectionDay) return false; return true; } #region 收封包 public event Action OnUpdateModelStarAdd; public void UpdateModelInfo(HB119_tagSCModelInfo vNetData) Main/System/PhantasmPavilion/PhantasmPavilionModelHandler.cs
@@ -8,7 +8,21 @@ } public List<int> GetKeyList() { return ModelConfig.GetKeys(); List<int> allKeys = ModelConfig.GetKeys(); List<int> validKeys = new List<int>(); for (int i = 0; i < allKeys.Count; i++) { int id = allKeys[i]; var modelCfg = ModelConfig.Get(id); // 过滤未达到开服天数的武将和皮肤形象 if (PhantasmPavilionManager.Instance.IsFaceOrModelVisible(modelCfg.UnlockWay, modelCfg.UnlockValue)) { validKeys.Add(id); } } return validKeys; } public int GetResourceType(int id) { Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs
@@ -60,6 +60,8 @@ manager.OnUpdateModelInfoEvent += OnUpdateModelInfoEvent; manager.OnTimeOut += OnTimeOut; manager.OnUpdateModelStarAdd += OnUpdateModelStarAdd; TimeMgr.Instance.OnDayEvent += OnDayEvent; InitRedPoint(); TabSetActive(); SelectTiltleBtn(); @@ -77,11 +79,17 @@ manager.OnUpdateModelInfoEvent -= OnUpdateModelInfoEvent; manager.OnTimeOut -= OnTimeOut; manager.OnUpdateModelStarAdd -= OnUpdateModelStarAdd; TimeMgr.Instance.OnDayEvent -= OnDayEvent; manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Model, functionOrder + 1); manager.UpdateRedPoint(); } private void OnDayEvent() { SelectTiltleBtn(); } private void OnTimeOut() { RefreshAll(manager.nowType, functionOrder + 1);