322 lines
12 KiB
C#
322 lines
12 KiB
C#
|
|||
|
|
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();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
});
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|