using FGUI.ZM_Common_01; using UnityEngine; using FairyGUI; using System; namespace TowerClimberChronicles { public class PuzzleBuyItemUI : BaseUI { private PuzzleBuyItemUICtrl ctrl; private PuzzleBuyItemModel model; private FGUI.Game_puzzle_buy.com_buyitem ui; public PuzzleBuyItemUI(PuzzleBuyItemUICtrl ctrl) : base(ctrl) { uiName = UIConst.PuzzleBuyItemUI; this.ctrl = ctrl; } protected override void SetUIInfo(UIInfo uiInfo) { uiInfo.packageName = "Game_puzzle_buy"; uiInfo.assetName = "com_buyitem"; uiInfo.layerType = UILayerType.Normal; uiInfo.isNeedOpenAnim = false; uiInfo.isNeedCloseAnim = false; uiInfo.isNeedUIMask = true; } #region 生命周期 protected override void OnInit() { //model = ModuleManager.Instance.GetModel(ModelConst.PuzzleBuyItemModel) as PuzzleBuyItemModel; } protected override void OnClose() { HallManager.Instance.UpdateSecondEvent -= update; } protected override void OnBind() { ui = baseUI as FGUI.Game_puzzle_buy.com_buyitem; } private int pageType; protected override void OnOpenBefore(object args) { pageType = (int)args; ui.type.selectedIndex = pageType; InitView(); } protected override void OnOpen(object args) { } protected override void OnHide() { } protected override void OnDisplay(object args) { } #endregion #region 消息 protected override void AddListener() { } protected override void RemoveListener() { } #endregion void update() { // if (GameHelper.GetNowTime() < long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0")) && pageType != 3) // { // ui.btn_ad.enabled = false; // ui.btn_ad.state.selectedIndex = 1; // ui.btn_ad.text_time.text = CommonHelper.TimeFormat((int)(long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0")) - GameHelper.GetNowTime()), CountDownType.Hour); // } // else // { if (pageType == 0) { if (DataMgr.PuzzleItem0Free.Value > 0) { if (GameHelper.GetNowTime() < long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0"))) { ui.btn_ad.enabled = false; ui.btn_ad.state.selectedIndex = 1; ui.btn_ad.text_time.text = CommonHelper.TimeFormat((int)(long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0")) - GameHelper.GetNowTime()), CountDownType.Hour); } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = true; } } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = false; } } else if (pageType == 1) { if (DataMgr.PuzzleItem1Free.Value > 0) { if (GameHelper.GetNowTime() < long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0"))) { ui.btn_ad.enabled = false; ui.btn_ad.state.selectedIndex = 1; ui.btn_ad.text_time.text = CommonHelper.TimeFormat((int)(long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0")) - GameHelper.GetNowTime()), CountDownType.Hour); } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = true; } } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = false; } } else if (pageType == 2) { if (DataMgr.PuzzleItem2Free.Value > 0) { if (GameHelper.GetNowTime() < long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0"))) { ui.btn_ad.enabled = false; ui.btn_ad.state.selectedIndex = 1; ui.btn_ad.text_time.text = CommonHelper.TimeFormat((int)(long.Parse(PlayerPrefs.GetString("Puzzle_AD", "0")) - GameHelper.GetNowTime()), CountDownType.Hour); } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = true; } } else { ui.btn_ad.state.selectedIndex = 0; ui.btn_ad.enabled = false; } } else if (pageType == 3) { ui.btn_ad.state.selectedIndex = 0; if (DataMgr.PuzzleTimeFree.Value > 0) { ui.btn_ad.enabled = true; } else { ui.btn_ad.enabled = false; } } // } } //初始化页面逻辑 private void InitView() { ui.btn_close.SetClick(CtrlCloseUI); update(); HallManager.Instance.UpdateSecondEvent += update; if (DataMgr.PuzzleTimeCoinsUse.Value && pageType == 3) ui.time_state.selectedIndex = 1; int need_gold = 0; if (pageType == 0) { ui.btn_gold.text_gold.text = GameHelper.GetCommonModel().Scepter.ToString(); if (DataMgr.PuzzleItem0Free_Day.Value != DateTime.Now.Day) { DataMgr.PuzzleItem0Free.Value = GameHelper.GetCommonModel().ScepterFree; DataMgr.PuzzleItem0Free_Day.Value = DateTime.Now.Day; } ui.text_remain.SetVar("num", DataMgr.PuzzleItem0Free.Value.ToString()).FlushVars(); need_gold = GameHelper.GetCommonModel().Scepter; if (DataMgr.PuzzleItem0Free.Value <= 0) { ui.btn_ad.enabled = false; } } else if (pageType == 1) { ui.btn_gold.text_gold.text = GameHelper.GetCommonModel().Magnet.ToString(); if (DataMgr.PuzzleItem1Free_Day.Value != DateTime.Now.Day) { DataMgr.PuzzleItem1Free.Value = GameHelper.GetCommonModel().MagnetFree; DataMgr.PuzzleItem1Free_Day.Value = DateTime.Now.Day; } ui.text_remain.SetVar("num", DataMgr.PuzzleItem1Free.Value.ToString()).FlushVars(); need_gold = GameHelper.GetCommonModel().Magnet; if (DataMgr.PuzzleItem1Free.Value <= 0) { ui.btn_ad.enabled = false; } } else if (pageType == 2) { ui.btn_gold.text_gold.text = GameHelper.GetCommonModel().Lightbulb.ToString(); if (DataMgr.PuzzleItem2Free_Day.Value != DateTime.Now.Day) { DataMgr.PuzzleItem2Free.Value = GameHelper.GetCommonModel().LightbulbFree; DataMgr.PuzzleItem2Free_Day.Value = DateTime.Now.Day; } ui.text_remain.SetVar("num", DataMgr.PuzzleItem2Free.Value.ToString()).FlushVars(); need_gold = GameHelper.GetCommonModel().Lightbulb; if (DataMgr.PuzzleItem2Free.Value <= 0) { ui.btn_ad.enabled = false; } } else if (pageType == 3) { ui.btn_gold.text_gold.text = GameHelper.GetCommonModel().ChronoSiphon.ToString(); if (DataMgr.PuzzleTimeFree_Day.Value != DateTime.Now.Day) { DataMgr.PuzzleTimeFree.Value = GameHelper.GetCommonModel().ChronoSiphonFree; DataMgr.PuzzleTimeFree_Day.Value = DateTime.Now.Day; } ui.text_remain.SetVar("num", DataMgr.PuzzleTimeFree.Value.ToString()).FlushVars(); need_gold = GameHelper.GetCommonModel().ChronoSiphon; ui.btn_close.SetClick(() => { // GameDispatcher.Instance.Dispatch(GameMsg.PuzzleReset); float[] ch_array = GameHelper.GetRewardValue(2); var temp = new SuccessData(); temp.IsWin = false; temp.ch_number = ch_array[0]; temp.IsLevelSuccess = true; temp.IsH5Reward = false; temp.boost_array = GameHelper.GetRewardBoost(2); temp.level = DataMgr.PuzzleLevel.Value ; UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PuzzleEndUI_Open, temp); CtrlCloseUI(); }); if (DataMgr.PuzzleTimeFree.Value <= 0) { ui.btn_ad.enabled = false; } } ui.btn_gold.SetClick(() => { if (DataMgr.Coin.Value >= need_gold) { if (pageType == 0) DataMgr.PuzzleItem0.Value = DataMgr.PuzzleItem0.Value + 1; else if (pageType == 1) DataMgr.PuzzleItem1.Value = DataMgr.PuzzleItem1.Value + 1; else if (pageType == 2) DataMgr.PuzzleItem2.Value = DataMgr.PuzzleItem2.Value + 1; else if (pageType == 3) { GameDispatcher.Instance.Dispatch(GameMsg.PuzzleAddTime); DataMgr.PuzzleTimeCoinsUse.Value = true; } DataMgr.Coin.Value = DataMgr.Coin.Value - need_gold; GameDispatcher.Instance.Dispatch(GameMsg.Update101); GameDispatcher.Instance.Dispatch(GameMsg.PuzzleBuyItem); CtrlCloseUI(); } else { GameHelper.ShowTips("no_enough_gold", true); } }); ui.btn_ad.SetClick(() => { GameHelper.ShowVideoAd("Buy_puzzle_item", (success) => { if (success) { if (pageType == 0) { DataMgr.PuzzleItem0.Value = DataMgr.PuzzleItem0.Value + 1; DataMgr.PuzzleItem0Free.Value = DataMgr.PuzzleItem0Free.Value - 1; PlayerPrefs.SetString("Puzzle_AD", (GameHelper.GetNowTime() + GameHelper.GetCommonModel().ItemCD).ToString()); } else if (pageType == 1) { DataMgr.PuzzleItem1.Value = DataMgr.PuzzleItem1.Value + 1; DataMgr.PuzzleItem1Free.Value = DataMgr.PuzzleItem1Free.Value - 1; PlayerPrefs.SetString("Puzzle_AD", (GameHelper.GetNowTime() + GameHelper.GetCommonModel().ItemCD).ToString()); } else if (pageType == 2) { DataMgr.PuzzleItem2.Value = DataMgr.PuzzleItem2.Value + 1; DataMgr.PuzzleItem2Free.Value = DataMgr.PuzzleItem2Free.Value - 1; PlayerPrefs.SetString("Puzzle_AD", (GameHelper.GetNowTime() + GameHelper.GetCommonModel().ItemCD).ToString()); } else if (pageType == 3) { GameDispatcher.Instance.Dispatch(GameMsg.PuzzleAddTime); DataMgr.PuzzleTimeFree.Value = DataMgr.PuzzleTimeFree.Value - 1; } GameDispatcher.Instance.Dispatch(GameMsg.PuzzleBuyItem); CtrlCloseUI(); } }); }); } } }