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();
});
}
}