Example #1
0
 //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
         {
             //
         }
     });
 }
Example #2
0
    /// <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;
            }
        }
    }