GameResultView.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 GameResultView : MonoBehaviour
  8. {
  9. [SerializeField] Sprite starLight;
  10. void Start()
  11. {
  12. if (ChallengeGameView.ins != null)
  13. {
  14. ChallengeGameView.ins.gameObject.SetActive(false);
  15. }
  16. GameMode1 gm1 = GameMgr.ins.gameMode1;
  17. GameWinResult1 result = gm1.getWinResult();
  18. if (result.starCount == 3)
  19. this.transform.Find("Result1").gameObject.SetActive(true);
  20. else
  21. this.transform.Find("Result2").gameObject.SetActive(true);
  22. for (int i = 1; i <= result.starCount; i++) {
  23. Transform tsf = this.transform.Find("Star" + i);
  24. tsf.DOMoveZ(0, (float) i * 0.3f).OnComplete(() => {
  25. tsf.GetComponent<Image>().sprite = starLight;
  26. tsf.DOPunchScale(new Vector3(0.3f, 0.3f, 0.3f), 0.3f);
  27. });
  28. }
  29. DOTween.To(() => 0, value => {
  30. this.transform.Find("ScoreBG/Text").GetComponent<Text>().text = "得分: " + value;
  31. }, result.score, 1);
  32. AudioMgr.ins.PlayWin();
  33. }
  34. public void GoHome() {
  35. // AudioMgr.ins.PlayBtn();
  36. // SceneManager.LoadScene("Home", LoadSceneMode.Single);
  37. }
  38. public void TryAgain() {
  39. AudioMgr.ins.PlayBtn();
  40. SceneManager.LoadScene("Game", LoadSceneMode.Single);
  41. }
  42. }