RoleSelectView.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. using AppUI.Manager.View;
  7. /* PK模式的角色选择界面 */
  8. public class RoleSelectView : JCUnityLib.ViewBase, MenuBackInterface
  9. {
  10. bool[] inited = {false, false};
  11. void Start()
  12. {
  13. PersistenHandler.ins?.menuBackCtr.views.Add(this);
  14. TopBarView.NeedShowIt(this);
  15. GlobalData.localPK_playerRoleIDs[0] = LoginMgr.myUserInfo.avatarID;
  16. RenderPlayer(0);
  17. RenderPlayer(1);
  18. }
  19. void OnDestroy() {
  20. PersistenHandler.ins?.menuBackCtr.views.Remove(this);
  21. TopBarView.DontNeedShowIt(this);
  22. }
  23. public bool OnMenuBack() {
  24. //ViewMgr.Instance.DestroyView<RoleSelectView>();
  25. ViewManager.HideView(UIViewType.RoleSelectView);
  26. return true;
  27. }
  28. void RenderPlayer(int playerIndex) {
  29. Transform root = this.transform.Find("Player" + (playerIndex + 1));
  30. int roleID = GlobalData.localPK_playerRoleIDs[playerIndex];
  31. if (!inited[playerIndex]) {
  32. inited[playerIndex] = true;
  33. Button left = root.Find("Left").GetComponent<Button>();
  34. left.onClick.AddListener(delegate() {
  35. AudioMgr.ins.PlayBtn();
  36. NextRole(playerIndex, -1);
  37. RenderPlayer(playerIndex);
  38. });
  39. Button right = root.Find("Right").GetComponent<Button>();
  40. right.onClick.AddListener(delegate() {
  41. AudioMgr.ins.PlayBtn();
  42. NextRole(playerIndex, +1);
  43. RenderPlayer(playerIndex);
  44. });
  45. }
  46. string name = RoleMgr.GetRoleInfo(roleID, root.Find("AvatarParent/Avatar").GetComponent<Image>());
  47. //root.Find("Name").GetComponent<Text>().text = name;
  48. TextEllipsis.SetTextWithEllipsis(root.Find("Name").GetComponent<Text>(), name);
  49. }
  50. void NextRole(int playerIndex, int variety) {
  51. GlobalData.localPK_playerRoleIDs[playerIndex] += variety;
  52. if (GlobalData.localPK_playerRoleIDs[playerIndex] < 1) {
  53. GlobalData.localPK_playerRoleIDs[playerIndex] = RoleMgr.roleCount;
  54. } else if (GlobalData.localPK_playerRoleIDs[playerIndex] > RoleMgr.roleCount) {
  55. GlobalData.localPK_playerRoleIDs[playerIndex] = 1;
  56. }
  57. if (GlobalData.localPK_playerRoleIDs[playerIndex] == GlobalData.localPK_playerRoleIDs[1 - playerIndex]) {
  58. NextRole(playerIndex, variety);
  59. }
  60. }
  61. public void back() {
  62. AudioMgr.ins.PlayBtn();
  63. //ViewMgr.Instance.DestroyView<RoleSelectView>();
  64. ViewManager.HideView(UIViewType.RoleSelectView);
  65. }
  66. public void StartGame() {
  67. AudioMgr.ins.PlayBtn();
  68. //ViewMgr.Instance.ShowView<PKGameOptionView>();
  69. if (GameMgr.judgmentGameType == 1)
  70. {
  71. //限时射箭
  72. GlobalData.pkMatchType = GlobalDataTemp.pkMatchType;
  73. GameMgr.gameType = 2;
  74. SceneManager.LoadScene("Game", LoadSceneMode.Single);
  75. }
  76. else
  77. {
  78. int gameType = GameMgr.judgmentGameType;
  79. if (GlobalDataTemp.pkMatchType == PKMatchType.LocalPK)
  80. {
  81. if (GameMgr.judgmentGameType == 3) gameType = 6;
  82. else if (GameMgr.judgmentGameType == 4) gameType = 7;
  83. else if (GameMgr.judgmentGameType == 5) gameType = 8;
  84. }
  85. GlobalData.pkMatchType = GlobalDataTemp.pkMatchType;
  86. GameMgr.gameType = gameType;
  87. //打野鸡,打野兔,打野狼
  88. SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
  89. }
  90. }
  91. }