165 lines
4.4 KiB
C#
165 lines
4.4 KiB
C#
using Spine.Unity;
|
|
|
|
namespace ZooMatch
|
|
{
|
|
using System;
|
|
using System.Linq;
|
|
using DG.Tweening;
|
|
using FairyGUI;
|
|
|
|
public class RewardUI : BaseUI
|
|
{
|
|
private RewardUICtrl ctrl;
|
|
private RewardModel model;
|
|
private FGUI.ZM_Reward_10.com_reward ui;
|
|
|
|
private bool isMultiple = false;
|
|
private Action closeCallback;
|
|
public int rate = 2;
|
|
|
|
|
|
public RewardUI(RewardUICtrl ctrl) : base(ctrl)
|
|
{
|
|
uiName = UIConst.RewardUI;
|
|
this.ctrl = ctrl;
|
|
}
|
|
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
|
{
|
|
uiInfo.packageName = "ZM_Reward_10";
|
|
uiInfo.assetName = "com_reward";
|
|
uiInfo.layerType = UILayerType.Popup;
|
|
uiInfo.isNeedOpenAnim = true;
|
|
uiInfo.isNeedCloseAnim = true;
|
|
uiInfo.isNeedUIMask = true;
|
|
}
|
|
|
|
protected override void OnInit()
|
|
{
|
|
model = moduleManager.GetModel(ModelConst.RewardModel) as RewardModel;
|
|
}
|
|
|
|
protected override void OnClose()
|
|
{
|
|
tween?.Kill();
|
|
CommonHelper.FadeOut(ui);
|
|
}
|
|
|
|
protected override void OnBind()
|
|
{
|
|
ui = baseUI as FGUI.ZM_Reward_10.com_reward;
|
|
}
|
|
|
|
protected override void OnOpenBefore(object args)
|
|
{
|
|
|
|
InitData();
|
|
InitView();
|
|
}
|
|
|
|
protected override void OnOpen(object args)
|
|
{
|
|
CommonHelper.FadeIn(ui);
|
|
if (GetRewardOrigin() == RewardOrigin.H5Icon)
|
|
{
|
|
uiMask.touchable = false;
|
|
}
|
|
}
|
|
|
|
private void InitData()
|
|
{
|
|
foreach (var rewardSingleData in ctrl.rewardInfo.GetRewardDataList()
|
|
.Where(rewardSingleData => rewardSingleData.multiRate == 1))
|
|
{
|
|
rewardSingleData.multiRate = rewardSingleData.origin == RewardOrigin.Play
|
|
? GameHelper.GetQuizRate()
|
|
: GameHelper.GetVideoRate();
|
|
}
|
|
}
|
|
|
|
private void InitView()
|
|
{
|
|
AudioManager.Instance.PlayDynamicEffect("reward_show");
|
|
if (GetRewardOrigin() == RewardOrigin.H5Icon)
|
|
{
|
|
uiMask.touchable = false;
|
|
}
|
|
if (GameHelper.IsGiftSwitch() && ConfigSystem.GetConfig<CommonModel>().PiggyBankSwitch == 1) (ui.btn_multi.GetChild("img_saveingpot") as GImage).visible = true;
|
|
var value = GetRewardValue();
|
|
ui.text_num.text = GameHelper.Get101Str(value);
|
|
|
|
DOVirtual.DelayedCall(0.2f, () =>
|
|
{
|
|
var gamwin =
|
|
FXManager.Instance.SetFx<SkeletonAnimation>(ui.fx_place, Fx_Type.gamwin, ref closeCallback);
|
|
gamwin.state.SetAnimation(0, "out", true);
|
|
});
|
|
|
|
ui.btn_multi.SetClick(OnClickDouble);
|
|
ui.btn_collect.SetClick(OnClickClaim);
|
|
|
|
SetName();
|
|
SetAvatar();
|
|
Set101();
|
|
}
|
|
|
|
private Tween tween;
|
|
|
|
public void Set101(decimal cash = -1)
|
|
{
|
|
if (cash < 0)
|
|
{
|
|
cash = GameHelper.Get101();
|
|
}
|
|
|
|
// ui.text_num1.text = $"{GameHelper.Get101Str(cash)}";
|
|
}
|
|
|
|
private void SetAvatar()
|
|
{
|
|
// GameHelper.SetSelfAvatar(((btn_avatar)ui.btn_av).loader_avatar);
|
|
}
|
|
|
|
private void SetName()
|
|
{
|
|
// GameHelper.SetName(ui.text_name);
|
|
}
|
|
|
|
private RewardSingleData GetRewardData(int index = 0)
|
|
{
|
|
return ctrl.rewardInfo.GetRewardDataList()[index];
|
|
}
|
|
|
|
private decimal GetRewardValue(int index = 0)
|
|
{
|
|
return GetRewardData(index).value;
|
|
}
|
|
|
|
private RewardOrigin GetRewardOrigin(int index = 0)
|
|
{
|
|
return GetRewardData(index).origin;
|
|
}
|
|
|
|
private void OnClickClaim()
|
|
{
|
|
if (ctrl.rewardInfo.condition == RewardCondition.AD)
|
|
{
|
|
GameHelper.ShowInterstitial("interstitial_skipDouble");
|
|
}
|
|
ctrl.GetReward();
|
|
CtrlCloseUI();
|
|
}
|
|
|
|
private void OnClickDouble()
|
|
{
|
|
GameHelper.ShowVideoAd("reward_doubleReward", (isSuccess) =>
|
|
{
|
|
if (isSuccess)
|
|
{
|
|
ctrl.GetReward(rate);
|
|
CtrlCloseUI();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |