2026-05-09 09:37:34 +08:00
using FairyGUI ;
using SGModule.NetKit ;
using Spine.Unity ;
using System ;
using System.Collections.Generic ;
using IgnoreOPS ;
using FGUI.ZM_Common_01 ;
namespace BallKingdomCrush
{
public class AddViewoffUI : BaseUI
{
private AddViewoffUICtrl ctrl ;
private AddViewoffModel model ;
private FGUI . ZM_AddCell_12 . com_addView_off ui ;
private Action closeCallback ;
private bool isAutoPop = false ;
public AddViewoffUI ( AddViewoffUICtrl ctrl ) : base ( ctrl )
{
uiName = UIConst . AddViewoffUI ;
this . ctrl = ctrl ;
}
protected override void SetUIInfo ( UIInfo uiInfo )
{
uiInfo . packageName = "ZM_AddCell_12" ;
uiInfo . assetName = "com_addView_off" ;
uiInfo . layerType = UILayerType . Popup ;
uiInfo . isNeedOpenAnim = false ;
uiInfo . isNeedCloseAnim = false ;
uiInfo . isNeedUIMask = true ;
}
#region 生命周期
protected override void OnInit ()
{
//model = ModuleManager.Instance.GetModel(ModelConst.AddViewoffModel) as AddViewoffModel;
}
protected override void OnClose ()
{
GameHelper . showGameUI = true ;
HallManager . Instance . UpdateSecondEvent -= updateWatchCD ;
if ( GameHelper . IsAdModelOfPay ())
{
AdExchangeManager . Instance . Destroy ();
}
closeCallback ?. Invoke ();
if ( isAutoPop )
{
GameHelper . CallShowTurn ();
}
}
protected override void OnBind ()
{
ui = baseUI as FGUI . ZM_AddCell_12 . com_addView_off ;
}
protected override void OnOpenBefore ( object args )
{
if ( args != null )
{
isAutoPop = ( bool ) args ;
}
TrackKit . SendEvent ( GameHelper . getTrackEvenName (), ADEventTrack . Property . BuyOneOffShow );
// ad_cool_down = ConfigSystem.GetCommonConf().exchangeCD;
// btn_WatchAd = ui.btn_watch as btn_watchAd;
if ( GameHelper . IsAdModelOfPay ())
{
// AdExchangeManager.Instance.SetWatchAd(PurchasingManager.GetPaySku(PayType.buy_one_off), ui.btn_watch as btn_watchAd, SetTextString);
// ui.pay_type.selectedIndex = 0;
// ui.text_old_price.text = GameHelper.GetCommonModel().addspace + "ADs";
// btn_watchAd btn = ui.btn_watch as btn_watchAd;
//
// AdExchangeManager.Instance.Start();
// SetTextString();
}
else
{
ui . pay_type . selectedIndex = 1 ;
ui . text_old_price . text = GameHelper . getPrice (( decimal ) GameHelper . GetCommonModel (). addspace2 );
decimal price = ( decimal ) GameHelper . GetCommonModel (). AddDiscount2 ;
ui . btn_max_pay . title = GameHelper . getPrice ( price );
ui . btn_max_pay . SetClick (() =>
{
// ApplePayClass maxPayData = new ApplePayClass
// {
// amount = (int)Math.Round(price * 100),
// sku = PurchasingManager.GetPaySku(PayType.buy_one_off),
// currency = "USD"
// };
// MaxPayManager.Instance.Buy(maxPayData);
});
}
if ( GameHelper . IsGiftSwitch ())
{
ui . broad . visible = true ;
}
else
{
ui . broad . visible = false ;
}
InitView ();
InitBroadCast ();
}
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 . IAP_PAY_SUCCESS , pay_success );
}
protected override void RemoveListener ()
{
GameDispatcher . Instance . RemoveListener ( GameMsg . IAP_PAY_SUCCESS , pay_success );
}
#endregion
void pay_success ( object str )
{
string type = ( string ) str ;
// if (type == PurchasingManager.GetPaySku(PayType.buy_one_off))
// {
// UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.AddViewoffUI_Close);
// SaveData.GetSaveObject().have_slot = true;
// SaveData.SaveDataFunc();
// GameDispatcher.Instance.Dispatch(GameMsg.Slot_refresh);
// GameDispatcher.Instance.Dispatch(GameMsg.resurgence_close);
// CtrlCloseUI();
// }
}
//初始化页面逻辑
private void InitView ()
{
// var tAnimation = FXManager.Instance.SetFx<SkeletonAnimation>(ui.tip_parent, Fx_Type.Fx_AddBoxTip, ref _closeCallback);
// tAnimation.state.AddAnimation(0, "animation", true, 0);
ui . btn_close . SetClick (() =>
{
GameDispatcher . Instance . Dispatch ( GameMsg . resurgence_close );
CtrlCloseUI ();
});
HallManager . Instance . UpdateSecondEvent += updateWatchCD ;
// updateWatchCD();
// checkBtnState();
}
void updateWatchCD ()
{
ui . text_time . text = CommonHelper . TimeFormat (( int ) SaveData . GetSaveObject (). addview_off_time - Convert . ToInt32 ( GameHelper . GetNowTime ()), CountDownType . Hour );
broadtime ++;
BroadCast ();
}
public void SetTextString ()
{
// var need = AdExchangeManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.buy_one_off));
// var myAd = AdExchangeManager.Instance.GetLookRewardADNum();
//
// ui.tips.SetVar("num", need.ToString()).FlushVars();
// ui.ads.SetVar("num", myAd.ToString()).FlushVars();
}
private int broadtime = 1 ;
private List < string > config_name_list = LevelAttemptsModel . config_name_list ;
private List < string > config_money_list = LevelAttemptsModel . config_money_list ;
private List < string []> broad_list = new List < string []>();
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 < GTextField > text_list = new List < GTextField >();
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!" ;
}
}
}
2026-04-20 12:06:34 +08:00
}