using BX; using DG.Tweening; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; /// /// 复活界面 /// public class ResurgenceUI : UIBaseClass { /// /// 分数 /// public TextMeshProUGUI scoreTetx; /// /// 关卡进度 /// public TextMeshProUGUI schedule; /// /// 复活倒计时 /// public TextMeshProUGUI countdownResurrectionText; /// /// 关卡进度条 /// public Image scheduleBar; /// /// 复活倒计时 /// public Image countdownResurrection; /// /// 复活 /// public Button resurgenceBtn; /// /// 忽略 /// public Button loseBtn; /// /// 倒计时 /// private Tween countdownTween; private void Start() { ResurgenceBtnListener(); LoseBtnListenet(); } public override void OnShow() { base.OnShow(); BXSdk.Instance.LogEvent("RV_Button_Show", new System.Collections.Generic.Dictionary() { {"Position","RV_Revive"} }); SetScheduleBar(); SetCountdownResurrection(); SetScore(); resurgenceBtn.interactable = true; loseBtn.interactable = true; } public override void OnHide() { base.OnHide(); countdownTween.Kill(); } /// /// 设置关卡进度 /// private void SetScheduleBar() { float value = 0; DOTween.To(() => value, x => value = x, Scenes.Instance.gameScene.GetSchedule(), 1f).OnUpdate(() => { scheduleBar.fillAmount = value; schedule.text =(value* 100).ToString("0") + "%"; }); } /// /// 设置分数 /// private void SetScore() { float value = 0; DOTween.To(() => value, x => value = x, Scenes.Instance.gameScene.GetScore(), 1f).OnUpdate(() => { scoreTetx.text = value.ToString("0"); }); } /// /// 设置复活倒计时 /// private void SetCountdownResurrection() { float value = 10; countdownTween=DOTween.To(() => value, x => value = x, 0, 10).OnUpdate(() => { countdownResurrection.fillAmount = value/10; countdownResurrectionText.text =Mathf.RoundToInt(value).ToString(); }).OnComplete(() => { HideMe(); UIManager.Instance.AsynShowUI(); }).SetEase(Ease.Linear); } /// /// 复活按钮 /// private void ResurgenceBtnListener() { resurgenceBtn.onClick.AddListener(() => { var rewardReady = BXSdk.Instance.IsReadyReward(); if(rewardReady) { resurgenceBtn.interactable = false; loseBtn.interactable = false; } SDKManager.Instance.ShowReward("RV_Revive", () => { Scenes.Instance.gameScene.Resurgence(); }); }); } /// /// 忽略按钮 /// private void LoseBtnListenet() { loseBtn.onClick.AddListener(() => { HideMe(); UIManager.Instance.AsynShowUI(); }); } }