コード例 #1
0
        /// <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));
        }
コード例 #2
0
        //获取主线副本章节特殊解锁条件是否满足
        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);
        }
コード例 #3
0
        /// <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);
        }