158 lines
4.3 KiB
C#
158 lines
4.3 KiB
C#
using BX;
|
|
using DG.Tweening;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
/// 结算界面
|
|
/// </summary>
|
|
public class SettlementUI : UIBaseClass
|
|
{
|
|
/// <summary>
|
|
/// 当前关卡
|
|
/// </summary>
|
|
public TextMeshProUGUI level;
|
|
|
|
/// <summary>
|
|
/// 分数
|
|
/// </summary>
|
|
public TextMeshProUGUI score;
|
|
|
|
/// <summary>
|
|
/// 加金币
|
|
/// </summary>
|
|
public TextMeshProUGUI addMoney;
|
|
|
|
/// <summary>
|
|
/// 飞金币起点
|
|
/// </summary>
|
|
public Transform flyMoneyStartPoint;
|
|
|
|
/// <summary>
|
|
/// 飞金币终点
|
|
/// </summary>
|
|
public Transform flyMoneyEndPoint;
|
|
|
|
/// <summary>
|
|
/// 再试一次
|
|
/// </summary>
|
|
public Button tayAgainBtn;
|
|
|
|
/// <summary>
|
|
/// 返回
|
|
/// </summary>
|
|
public Button backBtn;
|
|
|
|
public override void OnShow()
|
|
{
|
|
base.OnShow();
|
|
BXSdk.Instance.LogEvent("Level_End", new Dictionary<string, object>()
|
|
{
|
|
{"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();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加分动效
|
|
/// </summary>
|
|
private void AwardedMarksAnim()
|
|
{
|
|
StartCoroutine(IE_AwardedMarksAnim());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加分动效协程
|
|
/// </summary>
|
|
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置分数
|
|
/// </summary>
|
|
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<TopmostLayerUI>().FlyStuff(E_StuffType.Money,flyMoneyStartPoint, flyMoneyEndPoint, () =>
|
|
{
|
|
SetMoney();
|
|
},100);
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置分数
|
|
/// </summary>
|
|
private void SetMoney()
|
|
{
|
|
float value = 0;
|
|
DOTween.To(() => value, x => value = x, Scenes.Instance.gameScene.GetScore(), 1f).OnUpdate(() =>
|
|
{
|
|
addMoney.text ="+"+value.ToString("0");
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 再试一次
|
|
/// </summary>
|
|
private void TayAgainBtnListener()
|
|
{
|
|
tayAgainBtn.onClick.AddListener(() =>
|
|
{
|
|
BXSdk.Instance.LogEvent(UserDataManager.Instance.userData.level.ToString());
|
|
BXSdk.Instance.LogEvent("Level_Enter", new Dictionary<string, object>()
|
|
{
|
|
{"Level",UserDataManager.Instance.userData.level.ToString()},
|
|
});
|
|
SDKManager.Instance.ShowInterstitial("IV_Retry", BXSdk.IVADType.IV2);
|
|
Scenes.Instance.gameScene.ResetLevel();
|
|
HideMe();
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 返回按钮
|
|
/// </summary>
|
|
private void BackBtnListener()
|
|
{
|
|
backBtn.onClick.AddListener(() =>
|
|
{
|
|
Scenes.Instance.gameScene.BackHall();
|
|
});
|
|
}
|
|
}
|