GameOverPanelPK.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.UI;
  6. namespace WildAttack
  7. {
  8. /// <summary>
  9. /// 游戏结束界面
  10. /// </summary>
  11. public class GameOverPanelPK : MonoBehaviour
  12. {
  13. #region Members
  14. public Image AvatarPlayer1;
  15. public Image AvatarPlayer2;
  16. [SerializeField] Button btn_restart;
  17. [SerializeField] Button btn_back;
  18. [SerializeField] Text text_restart;
  19. [SerializeField] Text text_back;
  20. [SerializeField] Text text_currScoreTitle;
  21. [SerializeField] Text text_currScorePlayer1;
  22. [SerializeField] Text text_currScorePlayer2;
  23. [SerializeField] Text text_ResultPlayer1;
  24. [SerializeField] Text text_ResultPlayer2;
  25. #endregion
  26. #region Lifecycle
  27. // Start is called before the first frame update
  28. void Start()
  29. {
  30. RegisterEvent();
  31. }
  32. void OnEnable()
  33. {
  34. SimulateMouseController.ins?.AddOpenLocker(this);
  35. InfraredDemo._ins?.SetSinglePoint(true);
  36. }
  37. void OnDisable()
  38. {
  39. SimulateMouseController.ins?.RemoveOpenLocker(this);
  40. InfraredDemo._ins?.SetSinglePoint(false, ScreenPointTypeEnum.FullScreen);
  41. }
  42. #endregion
  43. #region ButtonClickEvent
  44. /// <summary>
  45. /// 注册btn监听
  46. /// </summary>
  47. private void RegisterEvent()
  48. {
  49. btn_restart.onClick.AddListener(OnBtnRestartClick);
  50. btn_back.onClick.AddListener(OnBtnBackClick);
  51. }
  52. /// <summary>
  53. ///点击 不玩了, 退出
  54. /// </summary>
  55. private void OnBtnBackClick()
  56. {
  57. AudioMgr.ins.PlayBtn();
  58. UnityEngine.SceneManagement.SceneManager.LoadScene("Home", UnityEngine.SceneManagement.LoadSceneMode.Single);
  59. }
  60. /// <summary>
  61. /// 重开按钮
  62. /// </summary>
  63. private void OnBtnRestartClick()
  64. {
  65. AudioMgr.ins.PlayBtn();
  66. // 重开设置
  67. GameMananger.GetInstance().ResetMainCamera();
  68. //GameMananger.GetInstance().ResetAim();
  69. GameMananger.GetInstance().AddHp((int)GameModule.GetInstance().GetData("wallHp"));
  70. GameMananger.GetInstance().SetScore(0);
  71. // 重置enemys
  72. for (int i = EnemyManager.GetInstance().enemyList.Count - 1; i >= 0; i--)
  73. {
  74. EnemyManager.GetInstance().enemyList[i].ResetEnemy();
  75. }
  76. //道具cd 关卡重置
  77. EnemyPool.GetInstance().RecycleAll();
  78. BalloonPool.GetInstance().RecycleAll();
  79. FlotagePool.GetInstance().RecycleAll();
  80. ProcessManager.GetInstance().RestartLevel();
  81. UIManager.GetInstance().Restart();
  82. }
  83. #endregion
  84. #region Functions
  85. /// <summary>
  86. /// 双人模式结束游戏
  87. /// </summary>
  88. /// <param name="isWin"></param>
  89. public void ShowGameOverPanelByPK(bool isWin)
  90. {
  91. text_restart.text = StringModule.GetInstance().GetData("restart");
  92. text_back.text = StringModule.GetInstance().GetData("back");
  93. //分数部分
  94. text_currScoreTitle.text = StringModule.GetInstance().GetData("score");
  95. int player1Score = GameMananger.GetInstance().TotalScore;
  96. int player2Score = GameMananger.GetInstance().TotalScore_2P;
  97. text_currScorePlayer1.text = GameMananger.GetInstance().TotalScore.ToString();
  98. text_currScorePlayer2.text = GameMananger.GetInstance().TotalScore_2P.ToString();
  99. if (player1Score > player2Score)
  100. {
  101. //玩家1胜利
  102. text_ResultPlayer1.text = StringModule.GetInstance().GetData("victory");
  103. text_ResultPlayer2.text = StringModule.GetInstance().GetData("defeat");
  104. }
  105. else if (player1Score < player2Score)
  106. {
  107. //玩家2胜利
  108. text_ResultPlayer2.text = StringModule.GetInstance().GetData("victory");
  109. text_ResultPlayer1.text = StringModule.GetInstance().GetData("defeat");
  110. }
  111. else {
  112. //平局
  113. text_ResultPlayer1.text = StringModule.GetInstance().GetData("draw");
  114. text_ResultPlayer2.text = StringModule.GetInstance().GetData("draw");
  115. }
  116. }
  117. #endregion
  118. }
  119. }