PKGameView.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. public class PKGameView : MonoBehaviour
  7. {
  8. [SerializeField] Text[] scoreTexts;
  9. PKGameMode pKGameMode;
  10. int currentPlayerID;
  11. string[] numCNs = {"零", "一", "二", "三", "四", "五", "六"};
  12. public static PKGameView ins;
  13. void Start()
  14. {
  15. ins = this;
  16. pKGameMode = (PKGameMode) GameMgr.ins.gameMode;
  17. RenderPlayerInfo(1, PKGameMode.playerRoleIDs[0]);
  18. RenderPlayerInfo(2, PKGameMode.playerRoleIDs[1]);
  19. }
  20. void RenderPlayerInfo(int posNum, int playerID)
  21. {
  22. (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(playerID);
  23. this.transform.Find("TotalScore/Avatar" + posNum + "/Sprite").GetComponent<Image>().sprite = avatar;
  24. this.transform.Find("TotalScore/Name" + posNum).GetComponent<Text>().text = nickName;
  25. }
  26. void Update()
  27. {
  28. scoreTexts[0].text = "第" + numCNs[pKGameMode.round] + "局";
  29. scoreTexts[1].text = pKGameMode.currentScores[0].ToString();
  30. scoreTexts[2].text = pKGameMode.currentScores[1].ToString();
  31. scoreTexts[3].text = pKGameMode.totalScores[0] + " : " + pKGameMode.totalScores[1];
  32. if (currentPlayerID != pKGameMode.currentPlayerID)
  33. {
  34. currentPlayerID = pKGameMode.currentPlayerID;
  35. (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(PKGameMode.playerRoleIDs[currentPlayerID - 1]);
  36. this.transform.Find("CurrentPlayer/Avatar").GetComponent<Image>().sprite = avatar;
  37. this.transform.Find("CurrentPlayer/Name").GetComponent<Text>().text = nickName;
  38. }
  39. if (currentPlayerID == pKGameMode.currentPlayerID)
  40. {
  41. this.transform.Find("CurrentPlayer/Progress").GetComponent<Image>().fillAmount = pKGameMode.singleShootReadyTime / pKGameMode.singleShootReadyMaxTime;
  42. this.transform.Find("CurrentPlayer/Time").GetComponent<Text>().text = pKGameMode.GetTimeStr();
  43. }
  44. }
  45. public void Back()
  46. {
  47. AudioMgr.ins.PlayBtn();
  48. SceneManager.LoadScene("Home", LoadSceneMode.Single);
  49. }
  50. }