PKGameSettleView.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. /* PK模式的结算界面 */
  7. public class PKGameSettleView : MonoBehaviour
  8. {
  9. void Start()
  10. {
  11. GameMode gameMode = GameMgr.ins.gameMode;
  12. if (PKGameView.ins) {
  13. PKGameView.ins.gameObject.SetActive(false);
  14. }
  15. string[] results = (string[]) gameMode.Settle();
  16. for (int i = 1; i <= 2; i++) {
  17. if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  18. int playerIndex = i - 1;
  19. (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(GlobalData.matchPlayerInfos[playerIndex].avatarID);
  20. nickName = GlobalData.matchPlayerInfos[playerIndex].nickname;
  21. this.transform.Find("Avatar" + i + "/Sprite").GetComponent<Image>().sprite = avatar;
  22. this.transform.Find("Name" + i).GetComponent<Text>().text = nickName;
  23. } else if (GlobalData.pkMatchType == PKMatchType.LocalPK) {
  24. (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(PKGameMode.playerRoleIDs[i - 1]);
  25. this.transform.Find("Avatar" + i + "/Sprite").GetComponent<Image>().sprite = avatar;
  26. this.transform.Find("Name" + i).GetComponent<Text>().text = nickName;
  27. }
  28. this.transform.Find("Win" + i).gameObject.SetActive(results[i - 1] == "胜利");
  29. this.transform.Find("Fail" + i).gameObject.SetActive(results[i - 1] == "失败");
  30. if (GlobalData.pkMatchType == PKMatchType.LocalPK) {
  31. this.transform.Find("Score" + i + "/Text").GetComponent<Text>().text = ((PKGameMode)gameMode).totalScores[i - 1].ToString();
  32. } else if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  33. this.transform.Find("Score" + i + "/Text").GetComponent<Text>().text = ((PKGameMode_OnlinePK)gameMode).gameLogic.totalScores[i - 1].ToString();
  34. }
  35. }
  36. AudioMgr.ins.PlayWin();
  37. if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  38. PKGameMode_OnlinePK gm = (PKGameMode_OnlinePK)gameMode;
  39. string res = results[gm.myPlayerIndex];
  40. int score = res == "胜利" ? 20 : 10;
  41. try {
  42. UserPlayer.ins.call("rankComp.uploadGameScore", GameMgr.gameType, score);
  43. } catch (System.Exception e) { Debug.LogError(e.Message); }
  44. }
  45. if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  46. if (SocketPlayer.ins) SocketPlayer.ins.isGameOver = true;
  47. }
  48. }
  49. public void GoHome() {
  50. AudioMgr.ins.PlayBtn();
  51. SceneManager.LoadScene("Home", LoadSceneMode.Single);
  52. HomeMgr.DestroyCacheViews();
  53. }
  54. public void TryAgain() {
  55. AudioMgr.ins.PlayBtn();
  56. if (GameAssistUI.ins) GameAssistUI.ins.recordPlayerRecordsWhenGameTryAgain();
  57. SceneManager.LoadScene("Game", LoadSceneMode.Single);
  58. }
  59. }