using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; using DG.Tweening; /* 限时模式的结算界面 */ public class TimeLimitGameSettleView : MonoBehaviour { [SerializeField] Sprite starLight; void Start() { if (TimeLimitGameView.ins) { TimeLimitGameView.ins.gameObject.SetActive(false); } object[] results = GameMgr.ins.gameMode.Settle(); int starCount = (int) results[0]; float score = (float) results[1]; // if (starCount >= 3) // this.transform.Find("Result1").gameObject.SetActive(true); // else // this.transform.Find("Result2").gameObject.SetActive(true); for (int i = 1; i <= starCount && i <= 3; i++) { Transform tsf = this.transform.Find("Star" + i); tsf.DOMoveZ(0, (float) i * 0.3f).OnComplete(() => { tsf.GetComponent().sprite = starLight; tsf.DOPunchScale(new Vector3(0.3f, 0.3f, 0.3f), 0.3f); }); } Text scoreText = this.transform.Find("ScoreBG/Layout/Score").GetComponent(); DOTween.To(() => 0, value => { scoreText.text = value.ToString($"f{CommonConfig.ringsPrecision}"); LayoutRebuilder.ForceRebuildLayoutImmediate(scoreText.transform.parent.GetComponent()); }, score, 1); AudioMgr.ins.PlayWin(); } public void GoHome() { AudioMgr.ins.PlayBtn(); SceneManager.LoadScene("Home", LoadSceneMode.Single); HomeMgr.DestroyCacheViews(); } public void TryAgain() { AudioMgr.ins.PlayBtn(); SceneManager.LoadScene("Game", LoadSceneMode.Single); } }