| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using FancyScrollView.FocusOn;
- using UnityEngine;
- using UnityEngine.SceneManagement;
- using UnityEngine.UI;
- [Serializable]
- public class LevelInfo
- {
- public string Name;
- public Sprite Icon;
- //自动语言转换id
- public string textId;
- //添加哪个语言脚本
- public int languageType = 0;
- public int startGameType = -1;
- }
- public class HomeView_ChallengeOption : MonoBehaviour
- {
- public GameObject entryList;
- [SerializeField] ScrollView scrollView = default;
- [SerializeField] Button prevCellButton = default;
- [SerializeField] Button nextCellButton = default;
- public List<LevelInfo> levelInfos;
- void Awake()
- {
- //根据条件激活野鸡关卡或野鸭关卡
- //if (CommonConfig.AppArea == 0)
- //{
- // entryList.transform.Find("Item1").gameObject.SetActive(GlobalDataTemp.pkMatchType != PKMatchType.None);
- // entryList.transform.Find("Item3").gameObject.SetActive(GlobalDataTemp.pkMatchType == PKMatchType.None);
- //}
- //else
- //{
- // entryList.transform.Find("Item1").gameObject.SetActive(true);
- // entryList.transform.Find("Item3").gameObject.SetActive(false);
- //}
- //entryList.transform.Find("Item4").gameObject.SetActive(GlobalDataTemp.pkMatchType == PKMatchType.None);
- //transform.Find("BtnFruitMaster").gameObject.SetActive(GlobalDataTemp.pkMatchType == PKMatchType.None);
- }
- void Start()
- {
- //增加了对两个按钮事件的响应
- prevCellButton.onClick.AddListener(scrollView.SelectPrevCell);
- nextCellButton.onClick.AddListener(scrollView.SelectNextCell);
- //对选中的当前对象的下标的显示
- scrollView.OnSelectionChanged(OnSelectionChanged);
- var items = levelInfos.Select(i => new ItemData(i.Name,i.Icon,i.textId,i.languageType))
- .ToArray();
- scrollView.UpdateData(items);
- scrollView.SelectCell(2);
- }
- void OnDestroy()
- {
- }
- //游戏选择回调 scroll view control
- void OnSelectionChanged(int index, bool selected)
- {
- //string str = $"Selected item info: index {levelInfos[index].Name}";
- if (levelInfos[index].startGameType != -1 && selected)
- {
- JudgmentMode(levelInfos[index].startGameType);
- }
- //Debug.Log(str);
- }
- /*
- 只有奥运射箭,打野鸡,打野兔,打野狼这四个最初的游戏,才有这三个模式选择;还有三个新的游戏,只有一个本地游戏的模式,那就不用选择,直接进入游戏
- */
- void JudgmentMode(int _startGameType) {
- //_startGameType 这里gameType仅仅用于判断模式
- switch (_startGameType)
- {
- case 1: //奥运射箭
- case 3: //打野兔
- case 4: //打野鸡
- case 5: //打野狼
- GameMgr.judgmentGameType = _startGameType;
- AudioMgr.ins.PlayBtn();
- //进入模式选择页面
- ViewMgr.Instance.ShowView<ModeSelectView>();
- break;
- default:
- StartGame(_startGameType);
- break;
- }
- }
- //只有一个本地游戏的模式,没有其他模式
- void StartGame(int gameType)
- {
- //Debug.Log("gameType:"+ gameType+ ",GlobalDataTemp.pkMatchType:"+ GlobalDataTemp.pkMatchType);
- AudioMgr.ins.PlayBtn();
- GameMgr.gameType = gameType;
- if (gameType == 15)
- {
- SceneManager.LoadScene("FruitMaster", LoadSceneMode.Single);
- }
- else if (gameType == 14)
- {
- SceneManager.LoadScene("WildAttack", LoadSceneMode.Single);
- }
- else if (gameType == 13)
- {
- SceneManager.LoadScene("DuckHunter", LoadSceneMode.Single);
- }
- }
- public void back()
- {
- AudioMgr.ins.PlayBtn();
- ViewMgr.Instance.DestroyView<ChallengeOptionView>();
- }
- public bool OnMenuBack()
- {
- ViewMgr.Instance.DestroyView<ChallengeOptionView>();
- return true;
- }
-
- }
|