GameResultView.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. using DG.Tweening;
  7. public class GameSettleView1 : MonoBehaviour
  8. {
  9. [SerializeField] Sprite starLight;
  10. void Start()
  11. {
  12. if (ChallengeGameView.ins)
  13. {
  14. ChallengeGameView.ins.gameObject.SetActive(false);
  15. }
  16. if (TimeLimitGameView.ins)
  17. {
  18. TimeLimitGameView.ins.gameObject.SetActive(false);
  19. }
  20. object[] results = GameMgr.ins.gameMode.Settle();
  21. int starCount = (int) results[0];
  22. int score = (int) results[1];
  23. if (starCount == 3)
  24. this.transform.Find("Result1").gameObject.SetActive(true);
  25. else
  26. this.transform.Find("Result2").gameObject.SetActive(true);
  27. for (int i = 1; i <= starCount; i++) {
  28. Transform tsf = this.transform.Find("Star" + i);
  29. tsf.DOMoveZ(0, (float) i * 0.3f).OnComplete(() => {
  30. tsf.GetComponent<Image>().sprite = starLight;
  31. tsf.DOPunchScale(new Vector3(0.3f, 0.3f, 0.3f), 0.3f);
  32. });
  33. }
  34. DOTween.To(() => 0, value => {
  35. this.transform.Find("ScoreBG/Text").GetComponent<Text>().text = "得分: " + value;
  36. }, score, 1);
  37. AudioMgr.ins.PlayWin();
  38. }
  39. public void GoHome() {
  40. AudioMgr.ins.PlayBtn();
  41. SceneManager.LoadScene("Home", LoadSceneMode.Single);
  42. }
  43. public void TryAgain() {
  44. AudioMgr.ins.PlayBtn();
  45. SceneManager.LoadScene("Game", LoadSceneMode.Single);
  46. }
  47. }