using System; using FGUI.P01_Common; using FairyGUI; using Spine.Unity; using System.Collections.Generic; using UnityEngine; namespace FlowerPower { public class AddViewUI : BaseUI { private AddViewUICtrl ctrl; private AddViewModel model; private FGUI.P13_AddOne.com_addView ui; public int ad_cool_down = 120; public btn_watchAd btn_WatchAd; private Action closeCallback; public AddViewUI(AddViewUICtrl ctrl) : base(ctrl) { uiName = UIConst.AddViewUI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "P13_AddOne"; uiInfo.assetName = "com_addView"; uiInfo.layerType = UILayerType.Popup; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = true; } #region 生命周期 protected override void OnInit() { //model = ModuleManager.Instance.GetModel(ModelConst.AddViewModel) as AddViewModel; } protected override void OnClose() { GameHelper.showGameUI = true; HallManager.Instance.UpdateSecondEvent -= updateWatchCD; if (GameHelper.IsAdModelOfPay()) { AdRdManager.Instance.Destroy(); } GameHelper.CallShowTurn(); } protected override void OnBind() { ui = baseUI as FGUI.P13_AddOne.com_addView; } protected override void OnOpenBefore(object args) { NetworkKit.BuriedPoint(BuriedPointEvent.Apple_pay_event, BuriedPointEvent.buy_one_show, 1); var sk = FXManager.Instance.SetFx(ui.ani_node as GGraph, Fx_Type.fx_add, ref closeCallback); sk.state.SetAnimation(0, "animation", true); // ad_cool_down = ConfigSystem.GetConfig().exchangeCD; // btn_WatchAd = ui.btn_watch as btn_watchAd; //0:付费模式 1:广告模式 2: 广告+付费模式 Debug.Log($"GetAddPayMode=======:{GameHelper.GetAddPayMode()}"); if (GameHelper.GetAddPayMode() == 1) { AdRdManager.Instance.SetWatchAd(PurchasingManager.buy_one, ui.btn_watch as btn_watchAd, SetTextString); ui.pay_type.selectedIndex = 0; AdRdManager.Instance.Start(); SetTextString(); } else if (GameHelper.GetAddPayMode() == 0) { ui.pay_type.selectedIndex = 1; decimal price = (decimal)GameHelper.GetCommonModel().addspace2; ui.btn_max_pay.title = GameHelper.getPrice(price); if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) (ui.btn_max_pay.GetChild("img_saveingpot") as GImage).visible = true; ui.btn_max_pay.SetClick(() => { ApplePayClass maxPayData = new ApplePayClass { amount = (int)Math.Round(price * 100), sku = PurchasingManager.buy_one, currency = "USD" }; MaxPayManager.Instance.Buy(maxPayData); }); } else if (GameHelper.GetAddPayMode() == 2) { var coinNum = GameHelper.GetCommonModel().AddSpaceCoin; ui.pay_type.selectedIndex = 2; ui.btn_gold_buy.text_num.text = GameHelper.Get101Str(coinNum); ui.btn_gold_buy.visible = true; ui.btn_gold_buy.SetClick(() => { if (GameHelper.Get101() >= coinNum) { ui.btn_gold_buy.visible = false; GameHelper.AddGold(-coinNum); BuyAfterEvent(); } else { GameHelper.ShowTips("Your Coin is insufficient!"); } }); if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig().PiggyBankSwitch == 1) ui.btn_watch_ad.img_saveingpot.visible = true; ui.btn_watch_ad.SetClick(() => { GameHelper.ShowVideoAd("add_one", isSuccess => { if (isSuccess) { var timeCd = ConfigSystem.GetConfig().PropCD; var ad_times = Convert.ToInt32(GameHelper.GetNowTime()); SaveData.GetSaveobject().add_one_watch_ad_cd = timeCd + ad_times; BuyAfterEvent(); } }); }); } if (GameHelper.IsGiftSwitch()) { ui.broad.visible = true; } else { ui.broad.visible = false; } InitView(); } private void BuyAfterEvent() { SaveData.GetSaveobject().have_slot = true; SaveData.saveDataFunc(); GameDispatcher.Instance.Dispatch(GameMsg.Slot_refresh); CtrlCloseUI(); } 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.buy_one) { CtrlCloseUI(); } } //初始化页面逻辑 private void InitView() { ui.btn_close.SetClick(() => { CtrlCloseUI(); GameDispatcher.Instance.Dispatch(GameMsg.resurgence_close); }); HallManager.Instance.UpdateSecondEvent += updateWatchCD; updateWatchCD(); InitBroadCast(); // checkBtnState(); } void updateWatchCD() { broadtime++; BroadCast(); var lastTimes = SaveData.GetSaveobject().add_one_watch_ad_cd; if (GameHelper.GetNowTime() < lastTimes) { ui.btn_watch_ad.can_buy.selectedIndex = 1; ui.btn_watch_ad.btn_text.text = CommonHelper.TimeFormat(lastTimes - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour); } else { ui.btn_watch_ad.can_buy.selectedIndex = 0; } } public void SetTextString() { var need = AdRdManager.Instance.GetCeilingNeedAds(PurchasingManager.buy_one); var myAd = AdRdManager.Instance.GetLookRewardADNum(); ui.tips.SetVar("num", need.ToString()).FlushVars(); ui.ads.SetVar("num", myAd.ToString()).FlushVars(); } private int broadtime = 1; private List config_name_list = ConfigSystem.GetConfig().config_name_list; private List config_money_list = ConfigSystem.GetConfig().config_money_list; private List broad_list = new List(); private void BroadCast() { if (broadtime % 3 == 0) { (ui.broad as com_broadcast_new).t1.Play(() => { broad_list.RemoveAt(0); int name_index = UnityEngine.Random.Range(0, config_name_list.Count); int money_index = UnityEngine.Random.Range(0, config_money_list.Count); broad_list.Add(new string[2] { config_name_list[name_index], config_money_list[money_index] }); for (int i = 0; i < 4; i++) { text_list[i].text = "Congratulations,User [color=#ad4800][size=36]" + broad_list[i][0] + "[/size][/color] !After purchasing the +1 Block Pack,play [color=#ad4800]" + broad_list[i][1] + "[/color] matcher to clear the level!"; } }); } } private List text_list = new List(); private void InitBroadCast() { text_list.Add((ui.broad as com_broadcast_new).text_0); text_list.Add((ui.broad as com_broadcast_new).text_1); text_list.Add((ui.broad as com_broadcast_new).text_2); text_list.Add((ui.broad as com_broadcast_new).text_3); for (int i = 0; i < 4; i++) { int name_index = UnityEngine.Random.Range(0, config_name_list.Count); int money_index = UnityEngine.Random.Range(0, config_money_list.Count); broad_list.Add(new string[2] { config_name_list[name_index], config_money_list[money_index] }); text_list[i].text = "Congratulations,User [color=#ad4800][size=36]" + broad_list[i][0] + "[/size][/color] !After purchasing the +1 Block Pack,play [color=#ad4800]" + broad_list[i][1] + "[/color] matcher to clear the level!"; } } } }