/// <summary> /// 点击进入下一章章节按钮事件 /// </summary> /// NextAction 卸载当前章节 /// callback 卸载章节中生成的某些对象的回调 public void ClickEndChapterBtn(Button btn, Action NextAction, Action callback = null, int delayTime = 0) {//下一章是否解锁 btn.onClick.RemoveAllListeners(); if (ChapterHelper.NextChapterIsUnlock(this._ChapterIndex)) { btn.onClick.AddListener(() => { btn.enabled = false; callback?.Invoke(); EnterIntoNextChapter(this._ChapterIndex + 1, delayTime); }); } else {//打开解锁购买弹窗 btn.onClick.AddListener(() => { PopupBuyChapterView(this._ChapterIndex + 1, NextAction, callback, delayTime); }); }; }
/// <summary> /// 点击进入下一章章节按钮 /// </summary> public void OnClickNextChapterBtn(Button btn) { if (ChapterHelper.NextChapterIsUnlock(curChapterID)) {//进入下一章 btn.onClick.RemoveAllListeners(); btn.onClick.AddListener(() => {//请求读完章节 CSClearance cSClearance = new CSClearance() { SectionId = curChapterID }; ProtocalManager.Instance().SendCSClearance(cSClearance, (x) => { ChapterHelper.PassChapter(curChapterID); //打开下一个章节 ChapterHelper.EnterIntoChapter(curChapterID + 1); Destroy(gameObject);//销毁自身 }, (ErrorInfo e) => { Debug.Log("请求过关章节失败"); }); }); } else {//打开解锁页面 btn.onClick.RemoveAllListeners(); btn.onClick.AddListener(async() => { var chapterInfo = StaticData.configExcel.GetSectionBySectionId(curChapterID + 1); int id = chapterInfo.UnlockPrice[0].ID; //取到钻石图片的id int count = (int)chapterInfo.UnlockPrice[0].Count; //取到数量 Sprite sprite = await ZillionaireToolManager.LoadItemSprite(id); string str = $"你的等级不够解锁下一章了哦"; StaticData.OpenCommonBuyTips(str, sprite, count, () => { ClickCallBACK((count), () => {//购买成功扣掉钻石后直接进入下一章节 ChapterHelper.EnterIntoChapter(curChapterID + 1); Destroy(this.gameObject); }); }); }); }; }