| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 | 
							- using System.Collections;
 
- using System.Collections.Generic;
 
- using UnityEngine;
 
- using UnityEngine.SceneManagement;
 
- using UnityEngine.UI;
 
- public class ModeSelectView : JCUnityLib.ViewBase
 
- {
 
-     public static ModeSelectView ins;
 
-     public bool isShowButton { get; set; } = false;
 
-     [SerializeField]
 
-     List<Button> allButtons;
 
-     List<Button> buttons = new List<Button>();
 
-     private void Awake()
 
-     {
 
-         ins = this;
 
-     }
 
-     // Start is called before the first frame update
 
-     void Start()
 
-     {
 
-         if (CommonConfig.StandaloneMode)
 
-         {
 
-             buttons.Add(allButtons[0]);
 
-             buttons.Add(allButtons[1]);
 
-         }
 
-         else
 
-         {
 
-             if (GlobalData.MyDeviceMode == DeviceMode.Gun)
 
-             {
 
-                 buttons.Add(allButtons[0]);
 
-                 buttons.Add(allButtons[1]);
 
-                 buttons.Add(allButtons[2]);
 
-             }
 
-             else
 
-             {
 
-                 buttons.Add(allButtons[0]);
 
-                 buttons.Add(allButtons[1]);
 
-                 buttons.Add(allButtons[2]);
 
-                 // 目前只有奥运射箭和塔防有双人模式,先显示奥运射箭
 
-                 if (isShowButton && allButtons.Count > 3)
 
-                 {
 
-                     buttons.Add(allButtons[3]);
 
-                     allButtons[3].gameObject.SetActive(true);
 
-                 }
 
-             }
 
-         }
 
-         // 设置未添加的按钮为隐藏
 
-         HideUnselectedButtons();
 
-         // 初始化按钮
 
-         InitButtons();
 
-     }
 
-     private void HideUnselectedButtons()
 
-     {
 
-         foreach (var button in allButtons)
 
-         {
 
-             // 如果当前按钮不在 buttons 中,隐藏它
 
-             if (!buttons.Contains(button))
 
-             {
 
-                 button.gameObject.SetActive(false);
 
-             }
 
-             else
 
-             {
 
-                 // 如果在 buttons 中,确保设置为可见
 
-                 button.gameObject.SetActive(true);
 
-             }
 
-         }
 
-     }
 
-     //枪模式下显示
 
-     //public void InitGunButtons() {
 
-     //    for (int i = 0; i < buttons.Count; i++)
 
-     //    {
 
-     //        int temp = i;
 
-     //        buttons[i].onClick.AddListener(() => {
 
-     //            AudioMgr.ins.PlayBtn();
 
-     //            OnChangeButton(temp);
 
-     //        });
 
-     //    }
 
-     //}
 
-     public void InitButtons() {
 
-         for (int i = 0; i < buttons.Count; i++)
 
-         {
 
-             int temp = i;
 
-             buttons[i].onClick.AddListener(() => {
 
-                 AudioMgr.ins.PlayBtn();
 
-                 OnChangeButton(temp);
 
-             });
 
-             //if (GameMgr.judgmentGameType != 1 && i == 3)
 
-             //{
 
-             //    //目前只有奥运射箭和塔防有双人模式,先显示奥运射箭
 
-             //    buttons[i].gameObject.SetActive(false);
 
-             //}
 
-         }
 
-     }
 
-     void OnDestroy()
 
-     {
 
-         if (ins == this) ins = null;
 
-     }
 
-     void OnChangeButton(int index)
 
-     {
 
-         bool _selected = false;
 
-         string gotoName = "";
 
-         for (int i = 0; i < buttons.Count; i++)
 
-         {
 
-             Button _button = buttons[i];
 
-             if (index == i)
 
-             {
 
-                 _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(true);
 
-                 _selected = true;
 
-                 gotoName = _button.name;
 
-             }
 
-             else
 
-             {
 
-                 _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(false);
 
-             }
 
-         }
 
-         if (_selected)
 
-         {
 
-             //进入选中的页面
 
-             AudioMgr.ins.PlayBtn();
 
-             GoToLocalByName(gotoName);
 
-         }
 
-     }
 
-     public void OnChangeButtonState(int index)
 
-     {
 
-         for (int i = 0; i < buttons.Count; i++)
 
-         {
 
-             Button _button = buttons[i];
 
-             if (index == i)
 
-             {
 
-                 _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(true);
 
-             }
 
-             else
 
-             {
 
-                 _button.GetComponent<ModeSelectView_Button>().OnSetButtonState(false);
 
-             }
 
-         }
 
-    
 
-     }
 
-     public void GoToLocalByName(string _gotoName)
 
-     {
 
-         switch (_gotoName)
 
-         {
 
-             case "SINGLE_PLYAER": //本地游戏(单人模式)
 
-                 GlobalDataTemp.pkMatchType = PKMatchType.None;
 
-                 if (GameMgr.judgmentGameType == 1)
 
-                 {
 
-                     //限时射箭
 
-                     GlobalData.pkMatchType = PKMatchType.None;
 
-                     GameMgr.gameType = 1;
 
-                     SceneManager.LoadScene("Game", LoadSceneMode.Single);
 
-                 }
 
-                 else
 
-                 {
 
-                     //打野鸡,打野兔,打野狼
 
-                     GameMgr.gameType = GameMgr.judgmentGameType;
 
-                     SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
 
-                 }
 
-                 break;
 
-             case "PLAY_LOCALLY": //本地对战
 
-                 Debug.Log("触发本地对战:PLAY_LOCALLY");
 
-                 GlobalDataTemp.pkMatchType = PKMatchType.LocalPK;
 
-                 ViewMgr.Instance.ShowView<RoleSelectView>();
 
-                 break;
 
-             case "PLAY_GLOBALLY": //联网
 
-                 Debug.Log("触发联网:PLAY_GLOBALLY");
 
-                 GlobalDataTemp.pkMatchType = PKMatchType.OnlinePK;
 
-                 //ViewMgr.Instance.ShowView<PKGameOptionView>();
 
-                 if (GameMgr.judgmentGameType == 1)
 
-                 {
 
-                     //射箭
 
-                     //GlobalDataTemp.pkMatchType = PKMatchType.OnlinePK;
 
-                     GlobalDataTemp.matchGameType = 9;
 
-                     ViewMgr.Instance.ShowView<PKMatchView>();
 
-                 }
 
-                 else
 
-                 {
 
-                     //打野鸡,打野兔,打野狼
 
-                     int newGameType = 0;
 
-                     if (GameMgr.judgmentGameType == 3) newGameType = 10;
 
-                     else if (GameMgr.judgmentGameType == 4) newGameType = 11;
 
-                     else if (GameMgr.judgmentGameType == 5) newGameType = 12;
 
-                     GlobalDataTemp.matchGameType = newGameType;
 
-                     ViewMgr.Instance.ShowView<PKMatchView>();
 
-                 }
 
-                 break;
 
-             case "DOUBLE_PLYAER": //双人游戏,目前包括(奥运射箭,塔防)
 
-                 Debug.Log("DOUBLE_PLYAER");
 
-                 if (AimHandler.ins.bRuning9Axis())
 
-                 {
 
-                     SceneManager.LoadScene("GameDouble", LoadSceneMode.Single);
 
-                 }
 
-                 else 
 
-                 {
 
-                     SceneManager.LoadScene("InfraredGameDouble", LoadSceneMode.Single);
 
-                 }
 
-                 break;
 
-             default:
 
-                 break;
 
-         }
 
-     }
 
-     public void OnClick_Back()
 
-     {
 
-         AudioMgr.ins.PlayBtn();
 
-         ViewMgr.Instance.DestroyView<ModeSelectView>();
 
-     }
 
- }
 
 
  |