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

157 lines
4.8 KiB
C#

using System;
using BingoBrain.Core;
using BingoBrain.HotFix;
using DG.Tweening;
using FGUI.ACommon;
using Spine.Unity;
using UnityEngine;
using FGUI.Common_animal;
namespace BingoBrain
{
public class FirstRewardUI : BaseUI
{
private FirstRewardUICtrl ctrl;
private FirstRewardModel model;
private FGUI.JMain.com_firstreward ui;
private Action closeCallback;
public FirstRewardUI(FirstRewardUICtrl ctrl) : base(ctrl)
{
uiName = UIConst.FirstRewardUI;
this.ctrl = ctrl;
}
protected override void SetUIInfo(UIInfo uiInfo)
{
uiInfo.packageName = "JMain";
uiInfo.assetName = "com_firstreward";
uiInfo.layerType = UILayerType.Popup;
uiInfo.isNeedOpenAnim = false;
uiInfo.isNeedCloseAnim = false;
uiInfo.isNeedUIMask = true;
}
#region
protected override void OnInit()
{
//model = ModuleManager.Instance.GetModel(ModelConst.FirstRewardModel) as FirstRewardModel;
}
protected override void OnClose()
{
}
protected override void OnBind()
{
ui = baseUI as FGUI.JMain.com_firstreward;
}
protected override void OnOpenBefore(object args)
{
InitView();
}
protected override void OnOpen(object args)
{
}
protected override void OnHide()
{
}
protected override void OnDisplay(object args)
{
}
#endregion
#region
protected override void AddListener()
{
}
protected override void RemoveListener()
{
}
#endregion
//初始化页面逻辑
private void InitView()
{
if (Screen.safeArea.y != 0)
{//刘海屏
ui.end_point.y += Screen.safeArea.y;
}
ui.text_num.text = "$" + ConfigSystem.GetConfig<CommonModel>().InitialNum;
// (ui.btn_get as btn_tabblue).cont_button.selectedIndex = 1;
FX.Instance.SetFx<SkeletonAnimation>(ui.spine_parent, Fx_Type.fx_first_reward, sk =>
{
SkeletonAnimation cardSpine = sk;
NAAVsa.PlayAnim(cardSpine, "newbie_reward_an01", false);
NAAVsa.AddCompleteEvent(cardSpine, (sk) =>
{
NAAVsa.PlayAnim(cardSpine, "newbie_reward_an02", true);
ui.btn_getreward.SetClick(() =>
{
NAAVsa.PlayAnim(cardSpine, "newbie_reward_an03", false);
ui.btn_getreward.visible = false;
NAAVsa.AddCompleteEvent(cardSpine, (sk) =>
{
ui.state.selectedIndex = 1;
});
});
});
// OnChangeCardFinish(null);
}, closeCallback);
ui.btn_get.SetClick(GetReward);
ui.btn_close.SetClick(GetReward);
// sk.state.SetAnimation(0, "newbie_reward_an01", false);
// sk.state.Complete += (a) =>
// {
// sk.state.SetAnimation(0, "newbie_reward_an02", true);
// ui.btn_getreward.SetClick(() =>
// {
// ui.btn_getreward.visible = false;
// sk.state.SetAnimation(0, "newbie_reward_an03", false);
// sk.state.Complete += (a) =>
// {
// ui.state.selectedIndex = com_firstreward.State_page;
// };
// });
// };
// ui.btn_get.SetClick(GetReward);
// ui.btn_close.SetClick(GetReward);
// ui.money.GetChild("number_text").text = GameHelper.Get101Str(PreferencesMgr.Instance.Currency101);
}
private void GetReward()
{
var startPot = GameHelper.GetUICenterPosition(ui.text_num);
var endPos = GameHelper.GetUICenterPosition(ui.end_point);
var rewardData = new RewardData
{
displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange
};
var rewardSingleData = new Goda(102, ConfigSystem.GetConfig<CommonModel>().InitialNum, RewardOrigin.Play)
{
startPosition = startPot,
endPosition = endPos,
};
rewardData.AddReward(rewardSingleData);
GameDispatcher.Instance.Dispatch(BingoInfo.GetReward, rewardData);
UICtrlDispatcher.Instance.Dispatch(SkinInfo.FirstRewardUI_Close);
PlayerPrefs.SetInt("first_", 1);
DOVirtual.DelayedCall(1, () =>
{
GameDispatcher.Instance.Dispatch(BingoInfo.RefreshMakeupData);
});
}
}
}