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().InitialNum; // (ui.btn_get as btn_tabblue).cont_button.selectedIndex = 1; FX.Instance.SetFx(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().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); }); } } }