2026-04-22 09:52:55 +08:00
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
// using FGUI.G002_main;
|
|
|
|
|
using Spine.Unity;
|
|
|
|
|
using DG.Tweening;
|
2026-04-22 11:13:16 +08:00
|
|
|
using FGUI.ZM_Lobby_03;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
namespace LoveLegend
|
2026-04-22 09:52:55 +08:00
|
|
|
{
|
|
|
|
|
public class FirstRewardUI : BaseUI
|
|
|
|
|
{
|
|
|
|
|
private FirstRewardUICtrl ctrl;
|
|
|
|
|
private FirstRewardModel model;
|
2026-04-22 11:13:16 +08:00
|
|
|
private FGUI.ZM_Lobby_03.com_first_award ui;
|
2026-04-22 09:52:55 +08:00
|
|
|
private Action closeCallback;
|
|
|
|
|
private Action open_sign;
|
|
|
|
|
private bool is_get = false;
|
|
|
|
|
public FirstRewardUI(FirstRewardUICtrl ctrl) : base(ctrl)
|
|
|
|
|
{
|
|
|
|
|
uiName = UIConst.FirstRewardUI;
|
|
|
|
|
this.ctrl = ctrl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
uiInfo.packageName = "ZM_Lobby_03";
|
2026-04-22 09:52:55 +08:00
|
|
|
uiInfo.assetName = "com_first_award";
|
|
|
|
|
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()
|
|
|
|
|
{
|
|
|
|
|
closeCallback();
|
|
|
|
|
//open_sign();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnBind()
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
ui = baseUI as FGUI.ZM_Lobby_03.com_first_award;
|
2026-04-22 09:52:55 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnOpenBefore(object args)
|
|
|
|
|
{
|
|
|
|
|
if (Screen.safeArea.y != 0)
|
|
|
|
|
{//刘海屏
|
2026-04-22 11:13:16 +08:00
|
|
|
ui.com_gold.y += Screen.safeArea.y;
|
2026-04-22 09:52:55 +08:00
|
|
|
}
|
|
|
|
|
InitView();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnOpen(object args)
|
|
|
|
|
{
|
|
|
|
|
//open_sign = (System.Action)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()
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
ui.com_gold.GetChild("text_gold").text = $"{DataMgr.Coin.Value:N0}";
|
2026-04-22 09:52:55 +08:00
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
ui.text_num.text = GameHelper.Get101Str(ConfigSystem.GetCommonConf().InitialNum);
|
2026-04-22 09:52:55 +08:00
|
|
|
var sk = FXManager.Instance.SetFx<SkeletonAnimation>(ui.spine_parent, Fx_Type.fx_first_reward, ref closeCallback);
|
|
|
|
|
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_first_award.State_page;
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ui.btn_get.SetClick(GetReward);
|
|
|
|
|
ui.btn_close.SetClick(GetReward);
|
|
|
|
|
}
|
|
|
|
|
private void GetReward()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (is_get) return;
|
|
|
|
|
is_get = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var start = GameHelper.GetUICenterPosition(ui.img_money);
|
2026-04-22 11:13:16 +08:00
|
|
|
var end = GameHelper.GetUICenterPosition(ui.com_gold.GetChild("icon"));
|
2026-04-22 09:52:55 +08:00
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
int awardNum = ConfigSystem.GetCommonConf().InitialNum;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
var rewardData = new RewardData();
|
|
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
var floor = Math.Floor((decimal)awardNum);
|
|
|
|
|
var rewardSingleData = new RewardSingleData(101, floor, RewardOrigin.AdTask)
|
2026-04-22 09:52:55 +08:00
|
|
|
{
|
|
|
|
|
startPosition = start,
|
2026-04-22 11:13:16 +08:00
|
|
|
endPosition = new Vector2(end.x, end.y)
|
2026-04-22 09:52:55 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
rewardData.AddReward(rewardSingleData);
|
|
|
|
|
rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange;
|
|
|
|
|
rewardData.AddCompleted(success =>
|
|
|
|
|
{
|
|
|
|
|
if (success)
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
ui.com_gold.GetChild("text_gold").text = $"{awardNum:N0}";
|
|
|
|
|
|
|
|
|
|
DataMgr.GetFirstReaward.Value = true;
|
|
|
|
|
DataMgr.GetFirstReaward.Save();
|
2026-04-22 09:52:55 +08:00
|
|
|
DOVirtual.DelayedCall(1.5f, () =>
|
|
|
|
|
{
|
|
|
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.FirstRewardUI_Close);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData);
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-04-22 11:13:16 +08:00
|
|
|
}
|