Files
MiniGame_Unity_GP/Assets/Scripts/ModuleUI/PuzzleBuyItem/PuzzleBuyItemUI.cs
T

322 lines
12 KiB
C#
Raw Normal View History

2026-07-06 16:27:14 +08:00
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();
}
});
});
}
}
}