//AD弹出 void UnlockViewAD(int OADid) { StaticData.OpenAd("OADAd", (code, msg) => { if (code == 1) { //成功请求 CSAdvExtraStory sCEmtpyAdvExtraStory = new CSAdvExtraStory() { ExtraStoryId = OADid }; ProtocalManager.Instance().SendCSAdvExtraStory(sCEmtpyAdvExtraStory, (x) => { Debug.Log($"观看广告+{this.ADcount}次"); this.ADcount += 1; if (this.ADcount >= _currShowData.AdvertisingNum) {//观看广告次数达到 ChapterHelper.UnlockOAD(_currShowData.ExtraStoryId); } bool isAddCount = false; foreach (var item in StaticData.playerInfoData.userInfo.AdvInfo) { if (item.GoodsId != OADid) { continue; } isAddCount = true; item.AdvNum += 1; } if (!isAddCount) { CSAdvStruct cSAdv = new CSAdvStruct() { GoodsId = OADid, AdvNum = this.ADcount }; StaticData.playerInfoData.userInfo.AdvInfo.Add(cSAdv); } ; ShwoData(); }, (ErrorInfo e) => { Debug.LogError("广告观看请求失败");//TODO? }); } else { // } }); }
/// <summary> /// 打开番外购买弹窗 /// </summary> /// <param name="OADdata"></param> public async void OpenBuyOAD(ExtraStoryDefine OADdata, int Index, OADItem currItem, Action BuySucceedCallBack = null) {//购买番外逻辑 //点击解锁直接判断 //1、货币足够 → 直接扣 //2、不够 → 询问购买紫金币纯文本弹窗 → 点击购买 弹出增减页面 → 钻石不够 → 弹出提示钻石充值纯文本弹窗 → 确认购买 钻石充值界面 CurrencyType currencyType = CurrencyType.PurpleGold;//默认为紫金币类型 CSWareHouseStruct item = new CSWareHouseStruct(); if (OADdata.Price[0].ID == StaticData.configExcel.GetVertical().PurpleGoldsId) {//紫金币 currencyType = CurrencyType.PurpleGold; item = StaticData.GetWareHouseItem(StaticData.configExcel.GetVertical().PurpleGoldsId); } else if (OADdata.Price[0].ID == StaticData.configExcel.GetVertical().JewelGoodsId) {//钻石 currencyType = CurrencyType.Diamond; item = StaticData.GetWareHouseItem(StaticData.configExcel.GetVertical().JewelGoodsId); } else if (OADdata.Price[0].ID == StaticData.configExcel.GetVertical().GoldGoodsId) {//金币 currencyType = CurrencyType.Gold; item = StaticData.GetWareHouseItem(StaticData.configExcel.GetVertical().GoldGoodsId); } if (item.GoodNum >= OADdata.Price[0].Count) {//货币足够 //请求解锁 CSBuyExtraStory cSBuyExtraStory = new CSBuyExtraStory() { ExtraStoryId = OADdata.ExtraStoryId }; ProtocalManager.Instance().SendCSBuyExtraStory(cSBuyExtraStory, (SCBuyExtraStory sCBuyExtraStory) => { if (currencyType == CurrencyType.PurpleGold) { StaticData.UpdateWareHouseItems(StaticData.configExcel.GetVertical().PurpleGoldsId, (int)(StaticData.GetWareHouseItem(StaticData.configExcel.GetVertical().PurpleGoldsId).GoodNum - OADdata.Price[0].Count)); } StaticData.CreateToastTips(StaticData.GetMultilingual(120234));//章节购买成功 ChapterHelper.UnlockOAD(OADdata.ExtraStoryId); foreach (var goodsInfo in sCBuyExtraStory.CurrencyInfo) { StaticData.UpdateWareHouseItems(goodsInfo.GoodsId, (int)goodsInfo.Count); } BuySucceedCallBack?.Invoke(); }, (ErrorInfo e) => { Debug.LogError("番外解锁请求失败"); }); } else {//货币不足 Debug.Log("货币不足"); switch (currencyType) { case CurrencyType.Gold: UnlockOAD_Gold(); break; case CurrencyType.Diamond: UnlockOAD_Diamond(); break; case CurrencyType.PurpleGold: UnlockOAD_PurpleGold(); break; } } }