提交项目

This commit is contained in:
2026-05-28 15:23:36 +08:00
commit 3cfc77d12b
5726 changed files with 554351 additions and 0 deletions
+165
View File
@@ -0,0 +1,165 @@
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();
}
});
}
}
}