using BX; using DG.Tweening; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; /// /// 结算界面 /// public class SettlementUI : UIBaseClass { /// /// 当前关卡 /// public TextMeshProUGUI level; /// /// 分数 /// public TextMeshProUGUI score; /// /// 加金币 /// public TextMeshProUGUI addMoney; /// /// 飞金币起点 /// public Transform flyMoneyStartPoint; /// /// 飞金币终点 /// public Transform flyMoneyEndPoint; /// /// 再试一次 /// public Button tayAgainBtn; /// /// 返回 /// public Button backBtn; public override void OnShow() { base.OnShow(); BXSdk.Instance.LogEvent("Level_End", new Dictionary() { {"Ad_Num",Scenes.Instance.gameScene.adNumber}, {"Skill_Choice",ConfigManager.Instance.Tables.TbSkillConfig.Get(UserDataManager.Instance.userData.skillId).SkillName}, {"Skill_Time",Scenes.Instance.gameScene.useSkillNumber}, {"Level_Time",Scenes.Instance.gameScene.levelTime}, {"End_Type","Fail"}, }); BXSdk.Instance.LevelEnd(UserDataManager.Instance.userData.level.ToString(), BXSdk.StageResult.StageFail); AwardedMarksAnim(); level.text = "Level " + UserDataManager.Instance.userData.level; SDKManager.Instance.ShowInterstitial("IV_Fail", BXSdk.IVADType.IV1); } private void Start() { TayAgainBtnListener(); BackBtnListener(); } /// /// 加分动效 /// private void AwardedMarksAnim() { StartCoroutine(IE_AwardedMarksAnim()); } /// /// 加分动效协程 /// private IEnumerator IE_AwardedMarksAnim() { tayAgainBtn.gameObject.SetActive(false); backBtn.gameObject.SetActive(false); SetScore(); yield return new WaitForSeconds(2); tayAgainBtn.gameObject.SetActive(true); tayAgainBtn.transform.localScale = Vector3.zero; tayAgainBtn.transform.DOScale(Vector3.one, 0.2f); yield return new WaitForSeconds(0.3f); backBtn.gameObject.SetActive(true); backBtn.transform.localScale = Vector3.zero; backBtn.transform.DOScale(Vector3.one, 0.2f); } /// /// 设置分数 /// private void SetScore() { addMoney.text ="X"+0; float value = Scenes.Instance.gameScene.GetScore(); DOTween.To(() => value, x => value = x,0, 1f).OnUpdate(() => { score.text = value.ToString("0"); }).OnComplete(() => { UIManager.Instance.GetUI().FlyStuff(E_StuffType.Money,flyMoneyStartPoint, flyMoneyEndPoint, () => { SetMoney(); },100); }); } /// /// 设置分数 /// private void SetMoney() { float value = 0; DOTween.To(() => value, x => value = x, Scenes.Instance.gameScene.GetScore(), 1f).OnUpdate(() => { addMoney.text ="+"+value.ToString("0"); }); } /// /// 再试一次 /// private void TayAgainBtnListener() { tayAgainBtn.onClick.AddListener(() => { BXSdk.Instance.LogEvent(UserDataManager.Instance.userData.level.ToString()); BXSdk.Instance.LogEvent("Level_Enter", new Dictionary() { {"Level",UserDataManager.Instance.userData.level.ToString()}, }); SDKManager.Instance.ShowInterstitial("IV_Retry", BXSdk.IVADType.IV2); Scenes.Instance.gameScene.ResetLevel(); HideMe(); }); } /// /// 返回按钮 /// private void BackBtnListener() { backBtn.onClick.AddListener(() => { Scenes.Instance.gameScene.BackHall(); }); } }