/// <summary> /// 根据章节ID判定能否进入章节 /// </summary> public static bool GetChapterIsPassByChapterId(string chapterId) { Data.LostMainChapterTemplate chapterData = Data.SceneTemplateManager.Instance.GetLostMainChatpterTplById(chapterId); if (chapterData == null) { return(false); } return(BalanceResourceUtil.GetUserLevel() >= chapterData.LevelLimit && IsPreChapterComplete(chapterId)); }
//获取主线副本章节特殊解锁条件是否满足 public static bool GetIsChapterLimitConditionComplete(Data.LostMainChapterTemplate chaptertpl, out int curnum) { curnum = 0; if (chaptertpl == null) { EB.Debug.LogWarning("NULL of lostmainchapter info, please cheak Scene form"); return(false); } int needplayer = chaptertpl.Limitparam1; int upgrandeid = chaptertpl.Limitparam2; if (needplayer <= 0) { return(true); } List <LTPartnerData> partnerlist = LTPartnerDataManager.Instance.GetGeneralPartnerList(); if (partnerlist == null) { EB.Debug.LogError("partnerlist == null"); return(true); } for (int i = 0; i < partnerlist.Count; i++) { int upgrade = partnerlist[i].UpGradeId; if (upgrade >= upgrandeid) { needplayer -= 1; curnum += 1; if (needplayer <= 0) { return(true); } } } return(false); }
/// <summary> /// 在指定章节前(含指定章节)是否存在未通关关卡 /// </summary> /// <param name="campaignId"></param> /// <returns></returns> public static bool HasUnfinishedCampaignBefore(string campaignId) { Data.LostMainCampaignsTemplate campaignData = Data.SceneTemplateManager.Instance.GetLostMainCampaignTplById(campaignId); if (campaignData == null) { return(false); } if (string.IsNullOrEmpty(campaignData.ChapterId)) { return(false); } var id = int.Parse(campaignData.ChapterId); for (var i = 101; i <= id; i++) { Data.LostMainChapterTemplate chapterData = Data.SceneTemplateManager.Instance.GetLostMainChatpterTplById(i.ToString()); if (chapterData == null || chapterData.CampaignList == null) { continue; } for (var j = 0; j < chapterData.CampaignList.Count; j++) { if (!IsCampaignsComplete(chapterData.CampaignList[j])) { return(true); } } } return(false); }