| Main/System/Hero/HeroManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroCardCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroListWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroUIManager.Reborn.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroUIManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Redpoint/MainRedDot.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Hero/HeroManager.cs
@@ -83,6 +83,11 @@ return heroInfoDict.Values.ToList(); } public List<string> GetHeroGuidList() { return heroInfoDict.Keys.ToList(); } /// 参数: 职业,国家,伤害类型,6大战斗属性,特殊属性 public List<string> GetHeroGuidList(List<int> selectList = null) { Main/System/HeroUI/HeroCardCell.cs
@@ -14,6 +14,7 @@ [SerializeField] RedpointBehaviour redpoint; [SerializeField] Image newImage; //新标识和红点互斥 [SerializeField] Image trainStateImg; [SerializeField] Image starRedImg; [SerializeField] Text nameText; [SerializeField] Image awakeImg; [SerializeField] Text awakeLVText; @@ -62,6 +63,9 @@ { trainStateImg.SetActive(false); } starRedImg.SetActive(funcState == 2); nameText.text = hero.breakLevel == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, hero.breakLevel); awakeImg.SetActive(hero.awakeLevel > 0); awakeLVText.text = hero.awakeLevel.ToString(); Main/System/HeroUI/HeroListWin.cs
@@ -160,6 +160,7 @@ HeroUIManager.Instance.SortHeroList(); RefreshEmptyTip(); CreateScroller(); heroListScroller.JumpIndex(0); } //上阵加成 @@ -227,6 +228,8 @@ } } heroListScroller.Restart(); heroListScroller.lockType = EnhanceLockType.KeepVertical; } int GetAttrActiveHeroCount() Main/System/HeroUI/HeroUIManager.Reborn.cs
@@ -100,9 +100,76 @@ } //遣散获取符合条件的武将列表 /// 参数: 职业,国家,伤害类型,6大战斗属性,特殊属性 public List<string> GetHeroGuidListDelectFunc(List<int> selectList = null) { var _list = HeroManager.Instance.GetHeroList(); if (selectList.IsNullOrEmpty()) return HeroManager.Instance.GetHeroGuidList(); int job = selectList[0]; int country = selectList[1]; int hurtType = selectList[2]; int fightAttrType = selectList[3]; int specialAttrType = selectList[4]; List<string> retGuidList = new List<string>(); foreach (var heroInfo in _list) { if (heroInfo.isAttrActive) continue; if (heroInfo.heroStar < heroInfo.GetCurMaxStar()) { continue; } //0代表全部, 同级别是可复选,不同级别为且的关系 bool isMatch = true; if (job != 0) { isMatch = isMatch && (job & (1 << heroInfo.heroConfig.Class)) > 0; } if (country != 0) { isMatch = isMatch && (country & (1 << heroInfo.heroConfig.Country)) > 0; } if (hurtType != 0) { isMatch = isMatch && (hurtType & (1 << heroInfo.heroConfig.HurtType)) > 0; } if (fightAttrType != 0) { isMatch = isMatch && (fightAttrType & (1 << heroInfo.heroConfig.Specialty)) > 0; } if (specialAttrType != 0) { bool isMatch2 = false; for (int i = 0; i < heroInfo.heroConfig.Specialty2.Length; i++) { isMatch2 = (specialAttrType & (1 << heroInfo.heroConfig.Specialty2[i])) > 0; if (isMatch2) break; } isMatch = isMatch && isMatch2; } if (isMatch) { retGuidList.Add(heroInfo.itemHero.guid); } } return retGuidList; } public void SortHeroDeleteList() { heroDeleteSortList = HeroManager.Instance.GetHeroGuidList(selectHeroDeleteList); heroDeleteSortList = GetHeroGuidListDelectFunc(selectHeroDeleteList); heroDeleteSortList.Sort(CmpDeleteHero); } Main/System/HeroUI/HeroUIManager.cs
@@ -467,12 +467,19 @@ // 主线上阵武将才需要提醒 觉醒>升星>突破>升级 public int GetFuncState(HeroInfo hero) { if (!hero.isAttrActive) return 0; var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId); if (!hero.IsInTeamByTeamType(TeamType.Story)) { if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1) { return 2; } return 0; } var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId); var itemPack = PackManager.Instance.GetSinglePack(PackType.Item); //5星后才能觉醒 if (hero.heroStar < starLevelCanAwake) @@ -493,7 +500,10 @@ } } if (heroCnt > 1) return 2; if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1) { return 2; } var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId); if (hero.breakLevel < maxBreakLV) @@ -526,6 +536,8 @@ List<Redpoint> heroOnTeamRedpointList = new List<Redpoint>(); //上阵的武将红点 List<Redpoint> heroBookRedpointList = new List<Redpoint>(); //图鉴所有武将红点 //生效未上阵的 可吞噬的共用一个红点 Redpoint heroEatRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 8); //新标识的红点 所有武将统一个 Redpoint newMarkRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 9); void InitHeroOnTeamRedpointList() @@ -566,6 +578,27 @@ } newMarkRedPoint.state = newHeroIDList.Count > 0 ? RedPointState.New : RedPointState.None; heroEatRedPoint.state = RedPointState.None; var _list = HeroManager.Instance.GetHeroList(); foreach (var hero in _list) { if (!hero.isAttrActive) { continue; } if (hero.heroStar >= hero.GetCurMaxStar()) { continue; } if (HeroManager.Instance.GetHeroCountByID(hero.heroId) > 1) { heroEatRedPoint.state = RedPointState.Simple; break; } } } Main/System/Redpoint/MainRedDot.cs
@@ -70,7 +70,8 @@ //自动战斗 public const int RedPoint_AutoBattleKey = 110; Redpoint autoBattleRedpoint = new Redpoint(RedPoint_AutoBattleKey); public const int RedPoint_OSMainLevel = 111; public const int RedPoint_OSHeroCard = 112; public const int RedPoint_Download = 116; //武将卡 Main/Utility/EnumHelper.cs
@@ -837,8 +837,9 @@ Horse = 37, //坐骑 BattlePass = 40, //基金(战令) LLMJ = 41, //历练秘笈 OSMainLevl = 45, //开服关卡榜活动 OSHeroCall = 46, //开服武将召唤榜活动 FunctionPreview = 48, //功能预览 }