Files
BingoGrassland/Assets/BingoBrain/ModuleUI/GodPle/GodPleUI.cs
T
2026-04-20 13:49:36 +08:00

150 lines
4.3 KiB
C#

using System;
using DG.Tweening;
using BingoBrain.Core;
using FGUI.JRewardPop;
using DontConfuse;
namespace BingoBrain
{
public class GodPleUI : BaseUI
{
private GodPleUICtrl ctrl;
private GodPleModel model;
private com_reward ui;
private Action closeCallback;
public GodPleUI(GodPleUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.GodPleUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "JRewardPop";
uiInfo.assetName = "com_reward";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = true;
}
#region
protected override void OnInit()
{
model = ModuleBoardk.GetModel(ModelConst.GodPleModel) as GodPleModel;
}
protected override void OnClose()
{
if (UI.Instance.IsExistUI(UIConst.H5UI))
{
WebviewManager.Instance.SetDarkThough(true);
}
}
protected override void OnBind()
{
ui = baseUI as com_reward;
}
protected override void OnOpenBefore(object args)
{
if (GameHelper.IsGiftSwitch()) ui.gift.selectedIndex = 1;
if (args != null)
{
model.rewardInfo = (RewardData)args;
}
if (UI.Instance.IsExistUI(UIConst.H5UI))
{
WebviewManager.Instance.SetDarkThough(false);
}
InitView();
}
protected override void OnOpen(object args)
{
}
#endregion
private void InitView()
{
DOVirtual.DelayedCall(0.10f, () =>
{
var piaodai = GameHelper.SetSpine("Effect.spine.fx_piaodai", "fx_piaodai", ui.fx_PiaoDai, "enter",
false);
DOVirtual.DelayedCall(0.8f, () => { piaodai.state.SetAnimation(0, "idle", true); });
DOVirtual.DelayedCall(0.2f,
() => { GameHelper.SetParticleSystem("Effect.sys.fx_lihua", "fx_lihua", ui.fx_lihua); });
});
var rewardValue = model.rewardInfo.GetRewardDataList()[0].GetTotalValue();
ui.text_num.text = $"+{GameHelper.Get102Str(rewardValue)}";
Out102 item = GameHelper.GetDynamicVersion_Cash();
ui.rate_text.text = "UP TO+" + item.cashmultiple + "00%";
ui.btn_collect.title = "Get " + (rewardValue * item.cashmultiple).ToString("0.00");
var isFree = model.rewardInfo.condition == RewardCondition.None;
if (ui.btn_collect is btn_collect btn_collect)
{
btn_collect.cont_state.selectedIndex = isFree ? btn_collect._State_free : btn_collect._State_video;
}
ui.btn_no.visible = false;
// if (!isFree)
// {
DOVirtual.DelayedCall(2, () => { ui.btn_no.visible = true; });
ui.btn_collect.SetClick(() =>
{
OnClickAdCollect(item.cashmultiple);
});
ui.btn_no.SetClick(() =>
{
OnClickCancel();
});
// }
// else
// {
// ui.btn_collect.SetClick(GetReward);
// }
}
private void OnClickAdCollect(int rate)
{
GameHelper.GetVideo("reward_playcash", isSuccess =>
{
if (isSuccess)
{
model.rewardInfo.GetRewardDataList()[0].value = model.rewardInfo.GetRewardDataList()[0].value * rate;
GetReward();
}
});
}
private void GetReward()
{
UsaSystem.GetReward(model.rewardInfo);
CtrlCloseUI();
}
private void OnClickCancel()
{
model.rewardInfo.GetRewardDataList()[0].value = model.rewardInfo.GetRewardDataList()[0].value / 10;
UsaSystem.GetReward(model.rewardInfo);
CtrlCloseUI();
GameHelper.ShowInterstitial("interstitial_skipAd");
}
}
}