From 8f006f426334f5ca733bfe4be2aa91007e232f55 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期四, 16 十月 2025 22:09:37 +0800 Subject: [PATCH] 50 【主界面】核心主体 - 阵容人数解锁 --- Main/System/Main/AutoFightModel.cs | 19 --- Main/System/HeroUI/HeroUIManager.OnTeam.cs | 155 +++++++++++++++++++++++++ Main/System/Main/FightPowerManager.cs | 4 Main/System/MainLevel/MainBossEnterWin.cs | 6 Main/System/Setting/QuickSetting.cs | 2 Main/System/Equip/BlessLVManager.cs | 4 Main/System/MainLevel/MainLevelManager.cs | 21 +++ Main/System/HeroUI/HeroPosWin.cs | 2 Main/System/Main/HeroFightingCardCell.cs | 42 ++++++ Main/System/Main/HomeWin.cs | 13 + Main/System/Scroll/ScrollerController.cs | 6 + Main/Component/UI/Effect/EffectPlayer.cs | 9 Main/System/Team/TeamBase.cs | 46 ++++++ Main/System/HeroUI/HeroPosHeadCell.cs | 2 Main/System/HeroUI/HeroUIManager.cs | 5 15 files changed, 292 insertions(+), 44 deletions(-) diff --git a/Main/Component/UI/Effect/EffectPlayer.cs b/Main/Component/UI/Effect/EffectPlayer.cs index 8af5bbd..3fdbc6c 100644 --- a/Main/Component/UI/Effect/EffectPlayer.cs +++ b/Main/Component/UI/Effect/EffectPlayer.cs @@ -416,10 +416,11 @@ spineComp.enabled = false; isPlaying = false; onComplete?.Invoke(); - if (isReleaseImmediately) - { - Release(); - } + // TODO 浼氭姤閿欐殏鏃舵敞閲� + // if (isReleaseImmediately) + // { + // Release(); + // } } } diff --git a/Main/System/Equip/BlessLVManager.cs b/Main/System/Equip/BlessLVManager.cs index 93ee8c1..d20c137 100644 --- a/Main/System/Equip/BlessLVManager.cs +++ b/Main/System/Equip/BlessLVManager.cs @@ -100,6 +100,10 @@ redpointTreeFree.state = RedPointState.None; redpointTreeItem.state = RedPointState.None; redpointTree.state = RedPointState.None; + if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlessLV)) + { + return; + } var config = TreeLVConfig.Get(m_TreeLV); if (config == null) return; //闈炲崌绾т腑妫�鏌ュ崌绾ф潗鏂� diff --git a/Main/System/HeroUI/HeroPosHeadCell.cs b/Main/System/HeroUI/HeroPosHeadCell.cs index faeba92..ba6249a 100644 --- a/Main/System/HeroUI/HeroPosHeadCell.cs +++ b/Main/System/HeroUI/HeroPosHeadCell.cs @@ -41,7 +41,7 @@ return; } - team.AddHero(hero, out pos); + team.AddHero(hero, out pos, true); if (pos != -1) { selectRect.SetActive(true); diff --git a/Main/System/HeroUI/HeroPosWin.cs b/Main/System/HeroUI/HeroPosWin.cs index 38565aa..d4c6359 100644 --- a/Main/System/HeroUI/HeroPosWin.cs +++ b/Main/System/HeroUI/HeroPosWin.cs @@ -459,7 +459,7 @@ team.RemoveAllHeroes(); for (int i = 0; i < guidList.Count; i++) { - team.AddHero(HeroManager.Instance.GetHero(guidList[i]), i); + team.AddHero(HeroManager.Instance.GetHero(guidList[i]), i, true); } TeamChangeEvent(new List<int>() { 0, 1, 2, 3, 4, 5 }, -1, Vector3.zero); diff --git a/Main/System/HeroUI/HeroUIManager.OnTeam.cs b/Main/System/HeroUI/HeroUIManager.OnTeam.cs index 6a5846a..f0a9734 100644 --- a/Main/System/HeroUI/HeroUIManager.OnTeam.cs +++ b/Main/System/HeroUI/HeroUIManager.OnTeam.cs @@ -6,7 +6,7 @@ public partial class HeroUIManager : GameSystemManager<HeroUIManager> { - + #region 甯冮樀鐣岄潰 public List<string> heroOnTeamSortList { get; private set; } = new List<string>(); //涓嶅悓涓婇樀鐨勫垪琛ㄦ帓搴� @@ -171,7 +171,7 @@ var team = TeamManager.Instance.GetTeam(teamType); if (team == null) - { + { return heroCountryCount; } TeamHero[] teamHeroes = isPreview ? team.tempHeroes : team.serverHeroes; @@ -306,6 +306,155 @@ #endregion - + #region 涓荤晫闈笂鐨勬灏嗕笂闃佃В閿佹樉绀� 鍜� 瑙i攣瑙勫垯 + + public int[][] lockHeroCountLimit; + public List<int> lockIndexList = new List<int>(); + + public Action OnUnLockHeroCountEvent; + public int lockState + { + get + { + return QuickSetting.Instance.GetQuickSettingValue<int>(QuickSettingType.HeroCountLock, 0); + } + set + { + QuickSetting.Instance.SetQuickSetting(QuickSettingType.HeroCountLock, value, 0); + QuickSetting.Instance.SendPackage(); + RefreshServerLockIndex(); + } + } + + //瑙i攣涓婇樀鑻遍泟鐨勬暟閲忛檺鍒�, 瑙i攣鏉′欢鍦ㄧ晫闈笂鏄寜椤哄簭鎺掑簭鐨勶紝浣嗘槸閿佸畾鐨勪綅缃槸鍔ㄦ�佸彉鍖栫殑 + //姣斿 绗�4锛�5锛�6鏍煎瓙閿佷綇浜嗭紝浣嗙6涓殑閿佸厛瀹屾垚浜嗚В閿佹潯浠讹紝瑙i攣鍚庨攣浣忕殑浣嶇疆寰�鍚庨『鎺� + //鍒� 绗�4鐨勪綅缃樉绀轰负瑙i攣鐘舵�侊紝5鍜�6鏄攣浣忕姸鎬侊紝5鐨勮В閿佹潯浠舵寜閰嶇疆鍒楄〃鐨勯『搴忚В閿侊紙鍗充负鍘�4鐨勮В閿佹潯浠讹級 + + // 妯℃嫙鏈嶅姟绔� 杩欓噷鐨刬ndex 瀵瑰簲鐨勬槸閰嶈〃鐨� + public bool IsUnLock(int configIndex) + { + //鎸塴ockState鐨勪綅鍒ゆ柇 + return (lockState & (1 << configIndex)) != 0; + } + + public bool SetUnLock(int configIndex) + { + if (!CanUnLock(configIndex, true)) + { + return false; + } + lockState |= 1 << configIndex; + return true; + } + + // 瑙i攣绫诲瀷 + // 1.涓诲叕绛夌骇杈綳绾у紑鍚紱 + // 2.閫氬叧涓荤嚎X-X寮�鍚紱鍚屼换鍔¢厤娉� + // 3.寮�鏈嶆椂闂磋揪鍒癤澶╁紑鍚紱 + public bool CanUnLock(int configIndex, bool notify = false) + { + int type = lockHeroCountLimit[configIndex][0]; + int value = lockHeroCountLimit[configIndex][1]; + if (type == 1) + { + if (PlayerDatas.Instance.baseData.LV < value) + { + if (notify) + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock1", value); + return false; + } + } + else if (type == 2) + { + //濡侲xAttr1鍊间负20103浠h〃褰撳墠宸茬粡杩囦簡绗�2绔犵1鍏崇3娉紱 value涓�201 + if (PlayerDatas.Instance.baseData.ExAttr1 / 100 <= value) + { + if (notify) + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock2", value / 100, value % 100); + return false; + } + } + else if (type == 3) + { + if (TimeUtility.OpenDay < value - 1) + { + if (notify) + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock3", value); + return false; + } + } + + return true; + } + + + public void ShowUnLockTip(int configIndex) + { + int type = lockHeroCountLimit[configIndex][0]; + int value = lockHeroCountLimit[configIndex][1]; + if (type == 1) + { + if (PlayerDatas.Instance.baseData.LV < value) + { + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock1", value); + return; + } + } + else if (type == 2) + { + //濡侲xAttr1鍊间负20103浠h〃褰撳墠宸茬粡杩囦簡绗�2绔犵1鍏崇3娉紱 value涓�201 + if (PlayerDatas.Instance.baseData.ExAttr1 / 100 <= value) + { + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock2", value / 100, value % 100); + return; + } + } + else if (type == 3) + { + if (TimeUtility.OpenDay < value - 1) + { + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock3", value); + return; + } + } + + //鍙互瑙i攣锛屼絾鏈В閿� + if (!IsUnLock(configIndex)) + { + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock4"); + } + } + + + // 鍒锋柊鏈В閿佹灏嗕笂闄愮殑閰嶇疆绱㈠紩鍒楄〃 + public void RefreshServerLockIndex() + { + lockIndexList.Clear(); + for (int i = 0; i < lockHeroCountLimit.Length; i++) + { + if (!IsUnLock(i)) + { + lockIndexList.Add(i); + } + } + } + + public bool UnLockHeroCnt(int lockIndex) + { + if (lockIndex < 0 || lockIndex >= lockIndexList.Count) + { + return false; + } + + return SetUnLock(lockIndexList[lockIndex]); + + } + + void OnQuickSettingUpdate() + { + RefreshServerLockIndex(); + } + #endregion + } diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs index 0380453..290919f 100644 --- a/Main/System/HeroUI/HeroUIManager.cs +++ b/Main/System/HeroUI/HeroUIManager.cs @@ -32,6 +32,7 @@ GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; PackManager.Instance.RefreshItemEvent += RefreshItemEvent; TeamManager.Instance.OnTeamChange += OnTeamChangeEvent; + QuickSetting.Instance.onQuickSettingUpdate += OnQuickSettingUpdate; ParseConfig(); InitHeroOnTeamRedpointList(); InitHeroBookRedpointList(); @@ -45,6 +46,7 @@ GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; PackManager.Instance.RefreshItemEvent -= RefreshItemEvent; TeamManager.Instance.OnTeamChange -= OnTeamChangeEvent; + QuickSetting.Instance.onQuickSettingUpdate -= OnQuickSettingUpdate; } void ParseConfig() @@ -60,6 +62,9 @@ config = FuncConfigConfig.Get("HeroRedpoint"); heroRedpointItemList = JsonMapper.ToObject<int[]>(config.Numerical1); + + config = FuncConfigConfig.Get("HeroOnTeam"); + lockHeroCountLimit = JsonMapper.ToObject<int[][]>(config.Numerical1); } public void OnBeforePlayerDataInitialize() diff --git a/Main/System/Main/AutoFightModel.cs b/Main/System/Main/AutoFightModel.cs index 752b95b..d538613 100644 --- a/Main/System/Main/AutoFightModel.cs +++ b/Main/System/Main/AutoFightModel.cs @@ -260,26 +260,7 @@ OnFightEvent?.Invoke(true); } - public bool CanChallengeBoss() - { - //鏈�鍚庝竴娉㈤�氳繃锛屼笖褰撳墠娉㈣繕鏄渶鍚庝竴娉紱鍊掗��鍙�掗��娉笉浼氬�掗��鍏冲崱 - if (PlayerDatas.Instance.baseData.ExAttr2 != PlayerDatas.Instance.baseData.ExAttr1) - { - return false; - } - var value = PlayerDatas.Instance.baseData.ExAttr2; - var chapterID = value / 10000; - var levelNum = value % 10000 / 100; - var waveID = value % 100; - var config = MainLevelConfig.GetMainLevelConfig(chapterID, levelNum); - if (waveID < MainLevelConfig.GetwaveCount(config)) - { - return false; - } - - return true; - } #endregion diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs index 063da9e..7272789 100644 --- a/Main/System/Main/FightPowerManager.cs +++ b/Main/System/Main/FightPowerManager.cs @@ -498,11 +498,11 @@ var index = team.GetEmptyPosition(); if (index < 0) { - team.AddHero(heroInfo, 5); + team.AddHero(heroInfo, 5, false); } else { - team.AddHero(heroInfo, index); + team.AddHero(heroInfo, index, false); } } diff --git a/Main/System/Main/HeroFightingCardCell.cs b/Main/System/Main/HeroFightingCardCell.cs index 1108afd..410c72c 100644 --- a/Main/System/Main/HeroFightingCardCell.cs +++ b/Main/System/Main/HeroFightingCardCell.cs @@ -17,7 +17,9 @@ [SerializeField] FillTween cdTween; [SerializeField] Button clickEmptyBtn; - + [SerializeField] Image emptyLockImg; + [SerializeField] Image redPointImg; + [SerializeField] UIEffectPlayer unlockEffect; void OnEnable() { @@ -30,16 +32,35 @@ } string guid; - public void Display(int index) + int lockIndex; + public void Display(int index, List<TeamHero> heros) { - var team = TeamManager.Instance.GetTeam(TeamType.Story); - var teamHero = team.GetServerHeroByIndex(index); + TeamHero teamHero = null; + if (index < heros.Count) + { + teamHero = heros[index]; + } guid = teamHero != null ? teamHero.guid : ""; if (guid == "") { clickHeroBtn.SetActive(false); clickEmptyBtn.SetActive(true); clickEmptyBtn.AddListener(ClickEmpty); + emptyLockImg.SetActive(false); + redPointImg.SetActive(false); + + int lockCnt = HeroUIManager.Instance.lockIndexList.Count; + //鏍规嵁閿佹暟閲� 鍊掑簭鍒ゆ柇閿佷綇 + if (lockCnt > 0) + { + lockIndex = lockCnt - (TeamConst.MaxTeamHeroCount - 1 - index) - 1; + if (lockIndex >= 0 && lockIndex < lockCnt) + { + emptyLockImg.SetActive(true); + redPointImg.SetActive(HeroUIManager.Instance.CanUnLock(HeroUIManager.Instance.lockIndexList[lockIndex])); + } + } + return; } else @@ -106,6 +127,19 @@ void ClickEmpty() { + if (emptyLockImg.isActiveAndEnabled) + { + if (HeroUIManager.Instance.UnLockHeroCnt(lockIndex)) + { + unlockEffect.onComplete = () => + { + HeroUIManager.Instance.OnUnLockHeroCountEvent?.Invoke(); + SysNotifyMgr.Instance.ShowTip("HeroCountUnLock5", TeamConst.MaxTeamHeroCount - HeroUIManager.Instance.lockIndexList.Count); + }; + unlockEffect.Play(); + } + return; + } UIManager.Instance.OpenWindow<HeroCallWin>(); } void OnSkillCast(bool isfighting) diff --git a/Main/System/Main/HomeWin.cs b/Main/System/Main/HomeWin.cs index 064f759..a05fdd2 100644 --- a/Main/System/Main/HomeWin.cs +++ b/Main/System/Main/HomeWin.cs @@ -142,6 +142,7 @@ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange; FirstChargeManager.Instance.OnUpdateFirstChargeInfo += OnUpdateFirstChargeInfo; GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; + HeroUIManager.Instance.OnUnLockHeroCountEvent += OnUnLockHeroCountEvent; Display(); DisplayFirstChargeBtn(); @@ -163,6 +164,7 @@ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange; FirstChargeManager.Instance.OnUpdateFirstChargeInfo -= OnUpdateFirstChargeInfo; GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; + HeroUIManager.Instance.OnUnLockHeroCountEvent -= OnUnLockHeroCountEvent; // 鍏抽棴鐨勬椂鍊欐妸鎴樻枟鐣岄潰涔熺粰鍏充簡 铏界劧鏄湪澶栭潰寮�鐨� UIManager.Instance.CloseWindow<BattleWin>(); @@ -298,10 +300,12 @@ { if (teamType != TeamType.Story) return; + var team = TeamManager.Instance.GetTeam(teamType); + var heros = team.GetHerosOnTeam(); //鏄剧ず鍗$墝 for (int i = 0; i < heroFightingCardCells.Length; i++) { - heroFightingCardCells[i].Display(i); + heroFightingCardCells[i].Display(i, heros); } } @@ -343,7 +347,7 @@ //銆愭櫘閫氥�戝叧鍗″悕瀛�1-6 levelName.text = Language.Get("mainui7", chapterConfig.Level, chapterConfig.ChapterName, chapterID, levelNum); - bool canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss(); + bool canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss(); //BOSS if (canChallengeBoss) { @@ -432,4 +436,9 @@ { DisplayFirstChargeBtn(); } + + void OnUnLockHeroCountEvent() + { + DisplayCard(TeamType.Story); + } } \ No newline at end of file diff --git a/Main/System/MainLevel/MainBossEnterWin.cs b/Main/System/MainLevel/MainBossEnterWin.cs index 058acbf..9c23ddf 100644 --- a/Main/System/MainLevel/MainBossEnterWin.cs +++ b/Main/System/MainLevel/MainBossEnterWin.cs @@ -106,7 +106,7 @@ fightPowerText.text = UIHelper.ReplaceLargeArtNum(levelConfig.FightPower); - var canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss(); + var canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss(); fightBtn.SetInteractable(canChallengeBoss); fightIcon.SetActive(canChallengeBoss); @@ -134,7 +134,7 @@ void FightBoss() { - if (AutoFightModel.Instance.CanChallengeBoss()) + if (MainLevelManager.Instance.CanChallengeBoss()) { var pack = new CB410_tagCMTurnFight(); pack.MapID = 2; @@ -152,7 +152,7 @@ { case PlayerDataType.ExAttr1: case PlayerDataType.ExAttr2: - var canChallengeBoss = AutoFightModel.Instance.CanChallengeBoss(); + var canChallengeBoss = MainLevelManager.Instance.CanChallengeBoss(); fightBtn.SetInteractable(canChallengeBoss); fightIcon.SetActive(canChallengeBoss); diff --git a/Main/System/MainLevel/MainLevelManager.cs b/Main/System/MainLevel/MainLevelManager.cs index a4bc494..492f4ea 100644 --- a/Main/System/MainLevel/MainLevelManager.cs +++ b/Main/System/MainLevel/MainLevelManager.cs @@ -32,5 +32,26 @@ } OnUpdateDayBooty?.Invoke(); } + + public bool CanChallengeBoss() + { + //鏈�鍚庝竴娉㈤�氳繃锛屼笖褰撳墠娉㈣繕鏄渶鍚庝竴娉紱鍊掗��鍙�掗��娉笉浼氬�掗��鍏冲崱 + if (PlayerDatas.Instance.baseData.ExAttr2 != PlayerDatas.Instance.baseData.ExAttr1) + { + return false; + } + var value = PlayerDatas.Instance.baseData.ExAttr2; + var chapterID = value / 10000; + var levelNum = value % 10000 / 100; + var waveID = value % 100; + + var config = MainLevelConfig.GetMainLevelConfig(chapterID, levelNum); + if (waveID < MainLevelConfig.GetwaveCount(config)) + { + return false; + } + + return true; + } } \ No newline at end of file diff --git a/Main/System/Scroll/ScrollerController.cs b/Main/System/Scroll/ScrollerController.cs index e5f466c..c9aab16 100644 --- a/Main/System/Scroll/ScrollerController.cs +++ b/Main/System/Scroll/ScrollerController.cs @@ -109,6 +109,12 @@ return _data.Count; } + // 鑾峰彇鎬荤殑Cell鏁扮洰锛堝惈涓嶆樉绀虹殑锛� + public int GetNumberOfCells() + { + return _data.Count; + } + public EnhancedScroller m_Scorller; private ScrollRect m_ScrollRect; public ScrollRect mScrollRect { diff --git a/Main/System/Setting/QuickSetting.cs b/Main/System/Setting/QuickSetting.cs index c1199d5..12dd103 100644 --- a/Main/System/Setting/QuickSetting.cs +++ b/Main/System/Setting/QuickSetting.cs @@ -19,6 +19,7 @@ quickSettingDic.Add(QuickSettingType.AutoFight_Open, new QuickSettingRange(QuickSettingType.AutoFight_Open, 3, 1)); quickSettingDic.Add(QuickSettingType.AutoGoldRush, new QuickSettingRange(QuickSettingType.AutoGoldRush, 4, 10, 1)); //鑷姩娣橀噾锛�9涓墿鍝佸�硷紝1涓嚜鍔ㄥ埛鏂板紑鍏� quickSettingDic.Add(QuickSettingType.BattleSpeed, new QuickSettingRange(QuickSettingType.BattleSpeed, 14, 1)); + quickSettingDic.Add(QuickSettingType.HeroCountLock, new QuickSettingRange(QuickSettingType.HeroCountLock, 15, 2)); setting = new string(UCharacter, 100); DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent; @@ -163,6 +164,7 @@ AutoFight_Open, //鏄惁寮�鍚嚜鍔ㄦ垬鏂� AutoGoldRush, //鑷姩娣橀噾 BattleSpeed, //鎴樻枟閫熷害绱㈠紩 闈炰富绾块儴鍒� + HeroCountLock, //涓婇樀浜烘暟鏉′欢閿佸畾 } public class QuickSettingRange diff --git a/Main/System/Team/TeamBase.cs b/Main/System/Team/TeamBase.cs index 3d08780..84d2361 100644 --- a/Main/System/Team/TeamBase.cs +++ b/Main/System/Team/TeamBase.cs @@ -248,6 +248,21 @@ return serverHeroes[index]; } + + //鑾峰彇鎵�鏈変笂闃电殑姝﹀皢 + public List<TeamHero> GetHerosOnTeam() + { + List<TeamHero> tmpHeros = new List<TeamHero>(); + foreach (var hero in tempHeroes) + { + if (hero != null) + { + tmpHeros.Add(hero); + } + } + return tmpHeros; + } + public TeamHero GetNextServerHero(string guid) { if (string.IsNullOrEmpty(guid)) @@ -329,8 +344,8 @@ } } - - public void AddHero(HeroInfo heroInfo, int targetPosition) + //checkLock 锛氭槸鍚﹂獙璇佷笂闃典汉鏁伴檺鍒� + public void AddHero(HeroInfo heroInfo, int targetPosition, bool checkLock) { if (targetPosition < 0 || targetPosition >= tempHeroes.Length) { @@ -338,22 +353,43 @@ return; } + if (checkLock) + { + var lockCnt = HeroUIManager.Instance.lockIndexList.Count; + if (lockCnt > 0 && TeamConst.MaxTeamHeroCount - GetHerosOnTeam().Count <= lockCnt) + { + HeroUIManager.Instance.ShowUnLockTip(HeroUIManager.Instance.lockIndexList[0]); + return; + } + } + SetTeamHero(targetPosition, new TeamHero(heroInfo, targetPosition, this)); } - + //checkLock 锛氭槸鍚﹂獙璇佷笂闃典汉鏁伴檺鍒� // add鍙彲鑳芥槸鐐逛笅闈㈠崱鐗� - public bool AddHero(HeroInfo heroInfo, out int pos) + public bool AddHero(HeroInfo heroInfo, out int pos, bool checkLock) { pos = -1; if (heroInfo == null || heroInfo.itemHero == null) return false; + + if (checkLock) + { + var lockCnt = HeroUIManager.Instance.lockIndexList.Count; + if (lockCnt > 0 && TeamConst.MaxTeamHeroCount - GetHerosOnTeam().Count <= lockCnt) + { + HeroUIManager.Instance.ShowUnLockTip(HeroUIManager.Instance.lockIndexList[0]); + return false; + } + } + // 鍚屼竴鑻遍泟 鍙兘涓婇樀涓�涓� if (GetHeroByHeroID(heroInfo.heroId) != null) { SysNotifyMgr.Instance.ShowTip("HeroFunc2"); - return false; + return false; } else { -- Gitblit v1.8.0