HunterGameSettleView.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. public class HunterGameSettleView : MonoBehaviour
  7. {
  8. // Start is called before the first frame update
  9. void Start()
  10. {
  11. ChallengeGameMode gameMode = (ChallengeGameMode) GameMgr.ins.gameMode;
  12. string res = gameMode.Settle()[0].ToString();
  13. if (res == "胜利") {
  14. #region
  15. if (GlobalData.pkMatchType == PKMatchType.None) {
  16. LoginMgr.myUserInfo.SetChallengeLevelPass(GameMgr.gameType, gameMode.currentlevel);
  17. LoginMgr.myUserInfo.Save();
  18. }
  19. #endregion
  20. this.transform.Find("Fail").gameObject.SetActive(false);
  21. AudioMgr.ins.PlayWin();
  22. }
  23. else if (res == "失败") {
  24. this.transform.Find("Win").gameObject.SetActive(false);
  25. }
  26. this.transform.Find("Btns/Btn1").GetComponent<Button>().onClick.AddListener(TryAgain);
  27. this.transform.Find("Btns/Btn3").GetComponent<Button>().onClick.AddListener(BackHome);
  28. CheckOpenNextLevelBtn(gameMode, res);
  29. if (GlobalData.pkMatchType == PKMatchType.OnlinePK && res == "胜利") {
  30. ChallengeGameModeLocalPK gm = (ChallengeGameModeLocalPK)gameMode;
  31. int myIndex = GlobalData.playerIndexInRoom;
  32. int otherIndex = (GlobalData.playerIndexInRoom + 1) % 2;
  33. HunterGamePlayerScoreCounter counter = gm.getHunterGamePlayerScoreCounter();
  34. int score = 10; //分数低于其他人
  35. if (counter.hitScores[myIndex] > counter.hitScores[otherIndex]) {
  36. score = 20; //分数高于其他人
  37. } else if (counter.hitScores[myIndex] == counter.hitScores[otherIndex]) {
  38. score = 15; //平分
  39. }
  40. try {
  41. UserPlayer.ins.call("rankComp.uploadGameScore", GameMgr.gameType, score);
  42. } catch (System.Exception e) { Debug.LogError(e.Message); }
  43. }
  44. if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  45. if (SocketPlayer.ins) SocketPlayer.ins.isGameOver = true;
  46. }
  47. }
  48. void CheckOpenNextLevelBtn(ChallengeGameMode gameMode, string gameRes) {
  49. Transform btnT = this.transform.Find("Btns/Btn2");
  50. if (GlobalData.pkMatchType != PKMatchType.None) {
  51. btnT.gameObject.SetActive(false);
  52. return;
  53. }
  54. bool open = gameRes == "胜利" && gameMode.currentlevel < 5;
  55. btnT.gameObject.SetActive(open);
  56. if (open) {
  57. btnT.GetComponent<Button>().onClick.AddListener(delegate() {
  58. ChallengeGameMode.enterNextLevel = (gameMode.currentlevel + 1).ToString();
  59. TryAgain();
  60. });
  61. }
  62. }
  63. public void TryAgain() {
  64. AudioMgr.ins.PlayBtn();
  65. if (GameAssistUI.ins) GameAssistUI.ins.recordPlayerRecordsWhenGameTryAgain();
  66. if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
  67. SocketPlayer.ins.TryAgain("GameChallenge");
  68. }
  69. SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
  70. }
  71. public void BackHome() {
  72. AudioMgr.ins.PlayBtn();
  73. SceneManager.LoadScene("Home", LoadSceneMode.Single);
  74. HomeMgr.DestroyCacheViews();
  75. }
  76. }