ModeSelectView.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6. public class ModeSelectView : JCUnityLib.ViewBase
  7. {
  8. [SerializeField] List<Button> buttons;
  9. // Start is called before the first frame update
  10. void Start()
  11. {
  12. for (int i = 0; i < buttons.Count; i++)
  13. {
  14. int temp = i;
  15. buttons[i].onClick.AddListener(() => {
  16. AudioMgr.ins.PlayBtn();
  17. OnChangeButton(temp);
  18. });
  19. }
  20. }
  21. void OnChangeButton(int index)
  22. {
  23. bool _selected = false;
  24. string gotoName = "";
  25. for (int i = 0; i < buttons.Count; i++)
  26. {
  27. Button _button = buttons[i];
  28. if (index == i)
  29. {
  30. _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(true);
  31. _selected = true;
  32. gotoName = _button.name;
  33. }
  34. else
  35. {
  36. _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(false);
  37. }
  38. }
  39. if (_selected)
  40. {
  41. //进入选中的页面
  42. AudioMgr.ins.PlayBtn();
  43. GoToLocalByName(gotoName);
  44. }
  45. }
  46. public void OnChangeButtonState(int index)
  47. {
  48. for (int i = 0; i < buttons.Count; i++)
  49. {
  50. Button _button = buttons[i];
  51. if (index == i)
  52. {
  53. _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(true);
  54. }
  55. else
  56. {
  57. _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(false);
  58. }
  59. }
  60. }
  61. public void GoToLocalByName(string _gotoName)
  62. {
  63. switch (_gotoName)
  64. {
  65. case "SINGLE_PLYAER": //本地游戏(单人模式)
  66. GlobalDataTemp.pkMatchType = PKMatchType.None;
  67. if (GameMgr.judgmentGameType == 1)
  68. {
  69. //限时射箭
  70. GlobalData.pkMatchType = PKMatchType.None;
  71. GameMgr.gameType = 1;
  72. SceneManager.LoadScene("Game", LoadSceneMode.Single);
  73. }
  74. else
  75. {
  76. //打野鸡,打野兔,打野狼
  77. GameMgr.gameType = GameMgr.judgmentGameType;
  78. SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
  79. }
  80. break;
  81. case "PLAY_LOCALLY": //本地对战
  82. Debug.Log("触发本地对战:PLAY_LOCALLY");
  83. GlobalDataTemp.pkMatchType = PKMatchType.LocalPK;
  84. ViewMgr.Instance.ShowView<RoleSelectView>();
  85. break;
  86. case "PLAY_GLOBALLY": //联网
  87. Debug.Log("触发联网:PLAY_GLOBALLY");
  88. GlobalDataTemp.pkMatchType = PKMatchType.OnlinePK;
  89. //ViewMgr.Instance.ShowView<PKGameOptionView>();
  90. if (GameMgr.judgmentGameType == 1)
  91. {
  92. //射箭
  93. //GlobalDataTemp.pkMatchType = PKMatchType.OnlinePK;
  94. GlobalDataTemp.matchGameType = 9;
  95. ViewMgr.Instance.ShowView<PKMatchView>();
  96. }
  97. else
  98. {
  99. //打野鸡,打野兔,打野狼
  100. int newGameType = 0;
  101. if (GameMgr.judgmentGameType == 3) newGameType = 10;
  102. else if (GameMgr.judgmentGameType == 4) newGameType = 11;
  103. else if (GameMgr.judgmentGameType == 5) newGameType = 12;
  104. GlobalDataTemp.matchGameType = newGameType;
  105. ViewMgr.Instance.ShowView<PKMatchView>();
  106. }
  107. break;
  108. default:
  109. break;
  110. }
  111. }
  112. public void OnClick_Back()
  113. {
  114. AudioMgr.ins.PlayBtn();
  115. ViewMgr.Instance.DestroyView<ModeSelectView>();
  116. }
  117. }