using System.Collections; using System.Collections.Generic; using UnityEngine; using FairyGUI; using BingoBrain.Core; using BingoBrain; using FGUI.G008_reward_animal; using DG.Tweening; using BingoBrain.HotFix; using FGUI.Common_animal; using System; using DontConfuse; namespace BingoBrain { public class PackrewardUI : BaseUI { private PackrewardUICtrl ctrl; private PackrewardModel model; private FGUI.G008_reward_animal.com_packreward ui; public PackrewardUI(PackrewardUICtrl ctrl) : base(ctrl) { uiName = UIConst.PackrewardUI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "G008_reward_animal"; uiInfo.assetName = "com_packreward"; uiInfo.layerType = UILayerType.Popup; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = false; } #region 生命周期 protected override void OnInit() { //model = ModuleManager.Instance.GetModel(ModelConst.PackrewardModel) as PackrewardModel; } protected override void OnClose() { if (GameHelper.IsAdModelOfPay()) { Hall.Instance.UpdateSecondEvent -= InitView; } GameHelper.showGameUI = true; WebviewManager.Instance.SetDarkThough(true); GameDispatcher.Instance.Dispatch(GameMsg.pack_close); int three_gift_got_index = SaveData.GetSaveobject().three_gift_got_index; if (isAutoPop && (three_gift_got_index <= (int)rewardState.day3)) { uiCtrlDispatcher.Dispatch(UICtrlMsg.ThreeDaysGiftUI_Open); } } private bool isAutoPop = false; protected override void OnBind() { ui = baseUI as FGUI.G008_reward_animal.com_packreward; } protected override void OnOpenBefore(object args) { if (Screen.safeArea.y != 0) {//刘海屏 ui.gold.y += Screen.safeArea.y; } GameHelper.showGameUI = false; bool need_scroll = false; PackRewardData Datas = args as PackRewardData; if (args != null) { Datas = args as PackRewardData; need_scroll = Datas.isNeedScroll; isAutoPop = Datas.isAutoPop; } if (need_scroll) ui.panel_parent.scrollPane.ScrollDown(300, false); if (need_scroll) { NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.remove_ad_show, 1); } else { NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.pack_show, 1); } list = ConfigSystem.GetConfig().dataList; gold_num = list[0].coins_quantity; back_num = list[0].props_quantity[1]; out_num = list[0].props_quantity[0]; refresh_num = list[0].props_quantity[2]; ui.panel_parent.panel.btn_close0.SetClick(CtrlCloseUI); ui.panel_parent.panel.btn_close1.SetClick(CtrlCloseUI); ui.gold.GetChild("number_text").text = GameHelper.GetGoldNumber().ToString(); InitView(); if (GameHelper.IsAdModelOfPay()) { Hall.Instance.UpdateSecondEvent += InitView; } WebviewManager.Instance.SetDarkThough(false); } protected override void OnOpen(object args) { } protected override void OnHide() { } protected override void OnDisplay(object args) { } #endregion #region 消息 protected override void AddListener() { GameDispatcher.Instance.AddListener(GameMsg.apple_pay_success, pay_success); } protected override void RemoveListener() { GameDispatcher.Instance.RemoveListener(GameMsg.apple_pay_success, pay_success); } #endregion void pay_success(object str) { string type = (string)str; if (type == PurchasingManager.remove_ad) { var start = GameHelper.GetUICenterPosition(ui.panel_parent.panel.text_goldnum2); DOVirtual.DelayedCall(1, () => { DOVirtual.Float(0, (float)PreferencesMgr.Instance.Currency101, 1, value => { ui.gold.GetChild("number_text").text = GameHelper.Get101Str((decimal)value); }); }); var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("number_text")); var rewardData = new RewardData { displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange }; var rewardSingleData = new Goda(101, list[1].coins_quantity, RewardOrigin.Play) { startPosition = start, endPosition = end, }; rewardData.AddReward(rewardSingleData); rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange; rewardData.AddCompleted(success => { // if (success) // { // RefreshGold(awardNum); // } }); GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData); UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.AdcomingUI_Close); SaveData.GetSaveobject().is_get_removead = true; InitView(); } else if (type == PurchasingManager.pack_reward) { var start = GameHelper.GetUICenterPosition(ui.panel_parent.panel.text_goldnum); DOVirtual.DelayedCall(1, () => { DOVirtual.Float(0, (float)PreferencesMgr.Instance.Currency101, 1, value => { ui.gold.GetChild("number_text").text = ((int)value).ToString(); }); }); ; var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("number_text")); var rewardData = new RewardData { displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange }; var rewardSingleData = new Goda(101, list[0].coins_quantity, RewardOrigin.Play) { startPosition = start, endPosition = end, }; rewardData.AddReward(rewardSingleData); rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange; rewardData.AddCompleted(success => { // if (success) // { // RefreshGold(awardNum); // } }); GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData); SaveData.GetSaveobject().is_get_packreward = true; InitView(); } } //初始化页面逻辑 private int gold_num = 300; private int back_num = 1; private int out_num = 1; private int refresh_num = 1; private List list; private void InitView() { ui.panel_parent.panel.pay_type.selectedIndex = 0; list = ConfigSystem.GetConfig().dataList; ui.panel_parent.panel.text_have1.text = "Owner ADs:" + SaveData.GetSaveobject().look_ad_numbers; ui.panel_parent.panel.text_have2.text = "Owner ADs:" + SaveData.GetSaveobject().look_ad_numbers; ui.panel_parent.panel.need_text1.text = "need " + list[0].Paid_price + " ADs"; ui.panel_parent.panel.need_text2.text = "need " + list[1].Paid_price + " ADs"; ui.panel_parent.panel.text_goldnum.text = "x" + gold_num; ui.panel_parent.panel.text_backnum1.text = "x" + back_num; ui.panel_parent.panel.text_outnum.text = "x" + out_num; ui.panel_parent.panel.text_refreshnum.text = "x" + refresh_num; btn_green btn_buypack = (ui.panel_parent.panel.btn_buypack as btn_green); GObject pack_title = ui.panel_parent.panel.btn_buypack.GetChild("title"); ui.panel_parent.panel.text_goldnum2.text = "x" + list[1].coins_quantity; btn_green btn_removead = (ui.panel_parent.panel.btn_buyremovead as btn_green); GObject removead_title = ui.panel_parent.panel.btn_buyremovead.GetChild("title"); btn_buypack.img_saveingpot.visible = false; btn_removead.img_saveingpot.visible = false; if (!GameHelper.IsAdModelOfPay()) { ui.panel_parent.panel.pay_type.selectedIndex = 1; decimal price_pack = (decimal)list[0].Paid_price2; ui.panel_parent.panel.btn_max_pack.title = GameHelper.Get102Str(price_pack); bool is_get_pack = SaveData.GetSaveobject().is_get_packreward; if (is_get_pack) { ui.panel_parent.panel.btn_max_pack.enabled = false; ui.panel_parent.panel.btn_max_pack.SetClick(() => { }); } else { ui.panel_parent.panel.btn_max_pack.SetClick(() => { MaxPayClass maxPayData = new MaxPayClass { amount = (int)Math.Round(price_pack * 100), sku = MaxPayManager.pack_reward, currency = "USD" }; MaxPayManager.Instance.Buy(maxPayData); }); } if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) (ui.panel_parent.panel.btn_max_pack.GetChild("img_saveingpot") as GImage).visible = true; if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) (ui.panel_parent.panel.btn_max_remove.GetChild("img_saveingpot") as GImage).visible = true; decimal price_remove = (decimal)list[1].Paid_price2; ui.panel_parent.panel.btn_max_remove.title = GameHelper.Get102Str(price_remove); bool is_get_removead = SaveData.GetSaveobject().is_get_removead; if (is_get_removead) { ui.panel_parent.panel.btn_max_remove.enabled = false; ui.panel_parent.panel.btn_max_remove.SetClick(() => { }); } else { ui.panel_parent.panel.btn_max_remove.SetClick(() => { MaxPayClass maxPayData = new MaxPayClass { amount = (int)Math.Round(price_remove * 100), sku = MaxPayManager.remove_ad, currency = "USD" }; MaxPayManager.Instance.Buy(maxPayData); }); } return; } bool is_get = SaveData.GetSaveobject().is_get_packreward; if (is_get) { btn_buypack.state.selectedIndex = 0; btn_buypack.cooldown.selectedIndex = 1; ui.panel_parent.panel.btn_buypack.grayed = true; pack_title.text = "Cliamed"; ui.panel_parent.panel.btn_buypack.SetClick(() => { }); } else if (SaveData.GetSaveobject().look_ad_numbers >= list[0].Paid_price) { btn_buypack.state.selectedIndex = 1; btn_buypack.cooldown.selectedIndex = 0; btn_buypack.SetClick(() => { NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.pack_success, 1); ApplePayClass test = new ApplePayClass() { sku = PurchasingManager.pack_reward, }; SaveData.GetSaveobject().look_ad_numbers -= (int)list[0].Paid_price; PurchasingManager.Instance.Purchase(PurchasingManager.pack_reward, test); }); } else if (SaveData.GetSaveobject().look_ad_time > GameHelper.GetNowTime()) { btn_buypack.state.selectedIndex = 0; btn_buypack.cooldown.selectedIndex = 1; pack_title.text = GameHelper.TimeFormat(SaveData.GetSaveobject().look_ad_time - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour); btn_buypack.SetClick(() => { }); } else { btn_buypack.state.selectedIndex = 0; btn_buypack.cooldown.selectedIndex = 0; pack_title.text = "Watch AD"; if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) btn_buypack.img_saveingpot.visible = true; btn_buypack.SetClick(() => { GameHelper.ShowVideoAd("PackReward", (issuccess) => { if (issuccess) { SaveData.GetSaveobject().look_ad_time = (int)GameHelper.GetNowTime() + GameHelper.GetCommonModel().exchangeCD; InitView(); } }); NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.pack_click, 1); }); } is_get = SaveData.GetSaveobject().is_get_removead; if (is_get) { btn_removead.state.selectedIndex = 0; btn_removead.cooldown.selectedIndex = 1; removead_title.text = "Cliamed"; btn_removead.SetClick(() => { }); } else if (SaveData.GetSaveobject().look_ad_numbers >= list[1].Paid_price) { btn_removead.state.selectedIndex = 1; btn_removead.cooldown.selectedIndex = 0; btn_removead.SetClick(() => { ApplePayClass test = new ApplePayClass() { sku = PurchasingManager.remove_ad, }; SaveData.GetSaveobject().look_ad_numbers -= (int)list[1].Paid_price; PurchasingManager.Instance.Purchase(PurchasingManager.pack_reward, test); NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.remove_ad_success, 1); }); } else if (SaveData.GetSaveobject().look_ad_time > GameHelper.GetNowTime()) { btn_removead.state.selectedIndex = 0; btn_removead.cooldown.selectedIndex = 1; removead_title.text = GameHelper.TimeFormat(SaveData.GetSaveobject().look_ad_time - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour); btn_removead.SetClick(() => { }); } else { btn_removead.state.selectedIndex = 0; btn_removead.cooldown.selectedIndex = 0; removead_title.text = "Watch AD"; if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) btn_removead.img_saveingpot.visible = true; btn_removead.SetClick(() => { GameHelper.ShowVideoAd("RemoveAd", (issuccess) => { if (issuccess) { SaveData.GetSaveobject().look_ad_time = (int)GameHelper.GetNowTime() + GameHelper.GetCommonModel().exchangeCD; InitView(); } }); NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.remove_ad_click, 1); // ApplePayClass test = new ApplePayClass() // { // transactionId = "", // amount = (int)(list[1].Paid_price * 100), // sku = PurchasingManager.remove_ad, // currency = "USD" // }; // PurchasingManager.Instance.Purchase(PurchasingManager.remove_ad, test); // SaveData.GetSaveobject().is_get_removead = true; // SaveData.saveDataFunc(); // InitView(); }); } } } } public class PackRewardData { public bool isAutoPop; public bool isNeedScroll; }