Files
CaptainDiceDubloons_IOS_unity/Assets/Scripts/ModuleUI/Packreward/PackrewardUI.cs
T
2026-06-01 14:48:38 +08:00

502 lines
23 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FutureCore;
using FairyGUI;
using FGUI.Pack_16;
using DG.Tweening;
using FGUI.Common_01;
using System;
using IgnoreOPS;
using SGModule.Net;
using IgnoreOPS;
using SGModule.NetKit;
using Unity.VisualScripting;
namespace ChillConnect
{
public class PackrewardUI : BaseUI
{
private PackrewardUICtrl ctrl;
private PackrewardModel model;
private FGUI.Pack_16.com_packaward ui;
private List<Paidgift> list;
public PackrewardUI(PackrewardUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.PackrewardUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "Pack_16";
uiInfo.assetName = "com_packaward";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = true;
}
#region 生命周期
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.PackrewardModel) as PackrewardModel;
}
private bool isAutoPop = false;
protected override void OnClose()
{
AdRedeemManager.Instance.Destroy();
GameHelper.showGameUI = true;
// WebviewManager.Instance.SetDarkThough(true);
GameDispatcher.Instance.Dispatch(GameMsg.pack_close);
HallManager.Instance.UpdateEvent -= InitView;
int three_gift_got_index = SaveData.GetSaveObject().three_gift_got_index;
if (isAutoPop && (three_gift_got_index <= (int)rewardState.day3))
{
uiCtrlDispatcher.Dispatch(UICtrlMsg.ThreeDaysGiftUI_Open);
}
GameHelper.CallShowTurn();
}
protected override void OnBind()
{
ui = baseUI as FGUI.Pack_16.com_packaward;
}
protected override void OnOpenBefore(object args)
{
if (Screen.safeArea.y != 0)
{
//刘海屏
ui.gold.y += Screen.safeArea.y;
}
if (!GameHelper.IsGiftSwitch())
{
ConfigSystem.GetConfig<PaidgiftModel>().DataList[0].Paid_price = 1;
ConfigSystem.GetConfig<PaidgiftModel>().DataList[1].Paid_price = 1;
}
bool need_scroll = false;
PackRewardData Datas = args as PackRewardData;
if (args != null)
{
Datas = args as PackRewardData;
need_scroll = Datas.isNeedScroll;
isAutoPop = Datas.isAutoPop;
}
if (need_scroll) ui.panel_parent.scrollPane.ScrollDown(300, false);
if (need_scroll)
{
TrackKit.SendEvent(GameHelper.getTrackEvenName(), Property.RemoveAdShow);
}
else
{
TrackKit.SendEvent(GameHelper.getTrackEvenName(), Property.FirstPackShow);
}
ui.gold.GetChild("text_gold").text = GameHelper.Get101Str(GameHelper.GetGoldNumber());
list = ConfigSystem.GetConfig<PaidgiftModel>().DataList;
if (!GameHelper.IsGiftSwitch())
{
list[0].Paid_price = 1;
list[1].Paid_price = 1;
}
if (GameHelper.IsAdModelOfPay())
{
// if (!GameHelper.IsGiftSwitch())
// {
// if (SaveData.GetSaveObject().is_get_packreward)
// {
// }
// ui.panel_parent.panel.btn_buypack.SetClick(() =>
// {
// GameDispatcher.Instance.Dispatch(GameMsg.apple_pay_success, PurchasingManager.GetPaySku(PayType.pack_reward));
// InitView();
// });
// ui.panel_parent.panel.btn_buyremovead.SetClick(() =>
// {
// GameDispatcher.Instance.Dispatch(GameMsg.apple_pay_success, PurchasingManager.GetPaySku(PayType.remove_ad));
// InitView();
// });
// }
// else
// {
// AdRedeemManager.Instance.SetWatchAd(PurchasingManager.GetPaySku(PayType.pack_reward),
// ui.panel_parent.panel.btn_buypack as btn_watchAd, SetTextString1);
// AdRedeemManager.Instance.SetWatchAd(PurchasingManager.GetPaySku(PayType.remove_ad),
// ui.panel_parent.panel.btn_buyremovead as btn_watchAd, SetTextString1);
// }
}
HallManager.Instance.UpdateEvent += InitView;
InitView();
}
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.GetPaySku(PayType.remove_ad))
{
var gold = list[1].coins_quantity;
var start = GameHelper.GetUICenterPosition(ui.panel_parent.panel.text_goldnum2);
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("icon"));
var rewardData = new RewardData();
var rewardSingleData = new RewardSingleData(101, gold, RewardOrigin.AdTask)
{
startPosition = start,
endPosition = end,
};
rewardData.AddReward(rewardSingleData);
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
rewardData.AddCompleted((isScu) =>
{
DOVirtual.DelayedCall(0.5f, () =>
{
var startNum = DataMgr.Coin.Value - gold;
DOVirtual.Float((float)startNum, (float)GameHelper.GetGoldNumber(), 1f,
value => { ui.gold.GetChild("text_gold").text = GameHelper.Get101Str((decimal)value); });
});
});
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.AdcomingUI_Close);
SaveData.GetSaveObject().is_get_removead = true;
InitView();
}
else if (type == PurchasingManager.GetPaySku(PayType.pack_reward))
{
var start = GameHelper.GetUICenterPosition(ui.panel_parent.panel.text_goldnum);
var end = GameHelper.GetUICenterPosition(ui.gold.GetChild("icon"));
var gold = list[0].coins_quantity;
var rewardData = new RewardData();
var rewardSingleData = new RewardSingleData(101, gold, RewardOrigin.AdTask)
{
startPosition = start,
endPosition = new Vector2(end.x - 100, end.y - 180)
};
rewardData.AddReward(rewardSingleData);
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
rewardData.AddCompleted((isScu) =>
{
DOVirtual.DelayedCall(0.5f, () =>
{
var startNum = DataMgr.Coin.Value - gold;
DOVirtual.Float((float)startNum, (float)GameHelper.GetGoldNumber(), 1f,
value => { ui.gold.GetChild("text_gold").text = GameHelper.Get101Str((decimal)value); });
});
});
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
SaveData.GetSaveObject().is_get_packreward = true;
Debug.Log(SaveData.GetSaveObject().is_get_packreward + "////////////////////////");
InitView();
}
}
//初始化页面逻辑
private int gold_num = 300;
private int back_num = 1;
private int out_num = 1;
private int refresh_num = 1;
private void InitView()
{
if (!GameHelper.IsGiftSwitch())
{
ConfigSystem.GetConfig<PaidgiftModel>().DataList[0].Paid_price = 1;
ConfigSystem.GetConfig<PaidgiftModel>().DataList[1].Paid_price = 1;
list= ConfigSystem.GetConfig<PaidgiftModel>().DataList;
}
gold_num = list[0].coins_quantity;
back_num = list[0].props_quantity[1];
out_num = list[0].props_quantity[0];
refresh_num = list[0].props_quantity[2];
ui.panel_parent.panel.btn_close0.SetClick(CtrlCloseUI);
ui.panel_parent.panel.btn_close1.SetClick(CtrlCloseUI);
ui.panel_parent.panel.text_goldnum.text = "x" + GameHelper.Get101Str(gold_num);
ui.panel_parent.panel.text_backnum1.text = "x" + back_num;
ui.panel_parent.panel.text_outnum.text = "x" + out_num;
ui.panel_parent.panel.text_refreshnum.text = "x" + refresh_num;
var buy_text = ui.panel_parent.panel.btn_buypack.GetChild("title") as GTextField;
buy_text.SetVar("price", list[0].Paid_price.ToString()).FlushVars();
ui.panel_parent.panel.text_goldnum2.text = "x" + GameHelper.Get101Str(list[1].coins_quantity);
var buy_text1 = ui.panel_parent.panel.btn_buyremovead.GetChild("title") as GTextField;
buy_text1.SetVar("price", list[1].Paid_price.ToString()).FlushVars();
if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig<CommonModel>().PiggyBankSwitch == 1) (ui.panel_parent.panel.btn_max_pack.GetChild("img_saveingpot") as GImage).visible = true;
if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig<CommonModel>().PiggyBankSwitch == 1) (ui.panel_parent.panel.btn_max_remove.GetChild("img_saveingpot") as GImage).visible = true;
if (!GameHelper.IsAdModelOfPay())
{
ui.panel_parent.panel.pay_type.selectedIndex = 1;
decimal price_pack = (decimal)list[0].Paid_price2;
ui.panel_parent.panel.btn_max_pack.title = GameHelper.getPrice(price_pack);
bool is_get = SaveData.GetSaveObject().is_get_packreward;
if (is_get)
{
ui.panel_parent.panel.btn_max_pack.enabled = false;
ui.panel_parent.panel.btn_max_pack.SetClick(() => { });
}
else
{
ui.panel_parent.panel.btn_max_pack.SetClick(() =>
{
ApplePayClass maxPayData = new ApplePayClass
{
amount = (int)Math.Round(price_pack * 100),
sku = PurchasingManager.GetPaySku(PayType.pack_reward),
currency = "USD"
};
MaxPayManager.Instance.Buy(maxPayData);
});
}
decimal price_remove = (decimal)list[1].Paid_price2;
ui.panel_parent.panel.btn_max_remove.title = GameHelper.getPrice(price_remove);
bool is_get1 = SaveData.GetSaveObject().is_get_removead;
if (is_get1)
{
ui.panel_parent.panel.btn_max_remove.enabled = false;
ui.panel_parent.panel.btn_max_remove.SetClick(() => { });
}
else
{
string sku = PurchasingManager.GetPaySku(PayType.pack_reward);
// if (GameHelper.IsGiftSwitch())
// {
// sku = PurchasingManager.GetPaySku(PayType.pack_reward);
// }
// else
// {
sku = PurchasingManager.GetPaySku(PayType.remove_ad);
//}
ui.panel_parent.panel.btn_max_remove.SetClick(() =>
{
ApplePayClass maxPayData = new ApplePayClass
{
amount = (int)Math.Round(price_remove * 100),
sku = sku,
type = PurchasingManager.GetPaySku(PayType.remove_ad),
currency = "USD"
};
MaxPayManager.Instance.Buy(maxPayData);
});
}
}
else
{
ui.panel_parent.panel.pay_type.selectedIndex = 0;
AdRedeemManager.Instance.Start();
SetTextString1();
}
ui.panel_parent.panel.btn_max_remove.grayed = false;
if (GameHelper.IsAdModelOfPay())
{
if (SaveData.GetSaveObject().is_get_packreward)
{
(ui.panel_parent.panel.btn_buypack as btn_watchAd).buy_state.selectedIndex = 1;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).title = "Received";
(ui.panel_parent.panel.btn_buypack as btn_watchAd).enabled = false;
}
else
{
Debug.Log(AdRedeemManager.Instance.GetLookRewardADNum());
Debug.Log(ConfigSystem.GetConfig<PaidgiftModel>().DataList[0].Paid_price);
if (AdRedeemManager.Instance.GetLookRewardADNum() >= ConfigSystem.GetConfig<PaidgiftModel>().DataList[0].Paid_price)
{
(ui.panel_parent.panel.btn_buypack as btn_watchAd).enabled = true;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).buy_state.selectedIndex = 1;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).title = "Receive";
ui.panel_parent.panel.btn_buypack.SetClick(() =>
{
AdRedeemData adRedeemData = new AdRedeemData
{
type = PurchasingManager.GetPaySku(PayType.pack_reward),
ad_count = AdRedeemManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.pack_reward))
};
AdRedeemManager.Instance.Redeem(adRedeemData);
});
}
else if (SaveData.GetSaveObject()._watch_ad_cd > GameHelper.GetNowTime())
{
(ui.panel_parent.panel.btn_buypack as btn_watchAd).enabled = false;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).buy_state.selectedIndex = 0;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).can_buy.selectedIndex = 1;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).btn_text.text = CommonHelper.TimeFormat((int)SaveData.GetSaveObject()._watch_ad_cd - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour);
}
else
{
(ui.panel_parent.panel.btn_buypack as btn_watchAd).enabled = true;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).buy_state.selectedIndex = 0;
(ui.panel_parent.panel.btn_buypack as btn_watchAd).can_buy.selectedIndex = 0;
ui.panel_parent.panel.btn_buypack.SetClick(() =>
{
GameHelper.ShowVideoAd("buy_add_one", isSuccess =>
{
if (isSuccess)
{
var ad_times = Convert.ToInt32(GameHelper.GetNowTime());
SaveData.GetSaveObject()._watch_ad_cd = ad_times + ConfigSystem.GetConfig<CommonModel>().exchangeCD;
InitView();
}
});
// AdRedeemManager.Instance.SendEventClickByName(PurchasingManager.GetPaySku(PayType.pack_reward), "click");
// AdRedeemManager.Instance.ShowVideoAd("buy_add_one", () =>
// {
// TimerHelper.mEasy.AddTimer(0.1f, () =>
// {
// var ad_times = Convert.ToInt32(GameHelper.GetNowTime());
// SaveData.GetSaveObject()._watch_ad_cd = ad_times + ConfigSystem.GetConfig<CommonModel>().exchangeCD;
// InitView();
// });
// });
});
}
}
if (SaveData.GetSaveObject().is_get_removead && GameHelper.GetNowTime() < SaveData.GetSaveObject().remove_ad_time)
{
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).buy_state.selectedIndex = 0;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).can_buy.selectedIndex = 1;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).btn_text.text = CommonHelper.TimeFormat(SaveData.GetSaveObject().remove_ad_time - (int)GameHelper.GetNowTime(), CountDownType.Hour);
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).enabled = false;
}
else
{
if (AdRedeemManager.Instance.GetLookRewardADNum() >= ConfigSystem.GetConfig<PaidgiftModel>().DataList[1].Paid_price)
{
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).enabled = true;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).buy_state.selectedIndex = 1;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).title = "Receive";
ui.panel_parent.panel.btn_buyremovead.SetClick(() =>
{
AdRedeemData adRedeemData = new AdRedeemData
{
type = PurchasingManager.GetPaySku(PayType.remove_ad),
ad_count = AdRedeemManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.remove_ad))
};
AdRedeemManager.Instance.Redeem(adRedeemData);
});
}
else if (SaveData.GetSaveObject()._watch_ad_cd > GameHelper.GetNowTime())
{
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).enabled = false;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).buy_state.selectedIndex = 0;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).can_buy.selectedIndex = 1;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).btn_text.text = CommonHelper.TimeFormat((int)SaveData.GetSaveObject()._watch_ad_cd - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour);
}
else
{
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).enabled = true;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).buy_state.selectedIndex = 0;
(ui.panel_parent.panel.btn_buyremovead as btn_watchAd).can_buy.selectedIndex = 0;
ui.panel_parent.panel.btn_buyremovead.SetClick(() =>
{
GameHelper.ShowVideoAd("buy_add_one", isSuccess =>
{
if (isSuccess)
{
var ad_times = Convert.ToInt32(GameHelper.GetNowTime());
SaveData.GetSaveObject()._watch_ad_cd = ad_times + ConfigSystem.GetConfig<CommonModel>().exchangeCD;
InitView();
}
});
// AdRedeemManager.Instance.ShowVideoAd("buy_add_one", () =>
// {
// TimerHelper.mEasy.AddTimer(0.1f, () =>
// {
// var ad_times = Convert.ToInt32(GameHelper.GetNowTime());
// SaveData.GetSaveObject()._watch_ad_cd = ad_times + ConfigSystem.GetConfig<CommonModel>().exchangeCD;
// InitView();
// });
// });
});
}
}
}
else
{
if (SaveData.GetSaveObject().remove_ad_time > GameHelper.GetNowTime())
{
// (item.btn_max_remove as btn_yellow).can_buy.selectedIndex = 1;
ui.panel_parent.panel.btn_max_remove.grayed = true;
ui.panel_parent.panel.btn_max_remove.title = CommonHelper.TimeFormat((int)SaveData.GetSaveObject().remove_ad_time - Convert.ToInt32(GameHelper.GetNowTime()), CountDownType.Hour);
}
}
ui.panel_parent.panel.text_removetime.text = "Valid for " + GameHelper.GetCommonModel().RemoveADsPackDuration + " hours";
}
public void SetTextString1()
{
var remove_need = AdRedeemManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.remove_ad));
var pack_need = AdRedeemManager.Instance.GetCeilingNeedAds(PurchasingManager.GetPaySku(PayType.pack_reward));
var myAd = AdRedeemManager.Instance.GetLookRewardADNum();
ui.panel_parent.panel.ads.SetVar("num", myAd.ToString()).FlushVars();
ui.panel_parent.panel.ads1.SetVar("num", myAd.ToString()).FlushVars();
ui.panel_parent.panel.tips1.SetVar("num", pack_need.ToString()).FlushVars();
ui.panel_parent.panel.tips2.SetVar("num", remove_need.ToString()).FlushVars();
}
}
public class PackRewardData
{
public bool isAutoPop;
public bool isNeedScroll;
}
}