using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class XingJunDaoHangPage : UIPageBtnEventBase { public List myPages = new List(); public List maps=new List(); private void OnEnable() { enter181 = FindObjectOfType(); for (int i = 0; i < myPages.Count; i++) { myPages[i].SetActive(false); } myPages[0].SetActive(true); currentIndex = 0; } public override void OnF1Click() { base.OnF1Click(); if (myPages[2].activeInHierarchy) { if (!myPages[2].transform.GetChild(1).gameObject.activeInHierarchy) myPages[2].transform.GetChild(1).gameObject.SetActive(true); else { myPages[2].transform.GetChild(1).gameObject.SetActive(false); //设置后需要更换界面 myPages[2].transform.GetChild(0).GetChild(0).GetComponent().sprite = maps[0]; } } } public override void OnF3Click() { base.OnF3Click(); //F3是上一页 Previous(); } public override void OnF4Click() { base.OnF4Click(); Next(); } public override void OnF5Click() { base.OnF5Click(); enter181.OnShow(); ResetPage(myPages); //gameObject.SetActive(false); Destroy(gameObject); } private int currentIndex = 0; /// /// 切换到下一个元素 /// public void Next() { if (myPages == null || myPages.Count == 0) return; // 如果是最后一个元素,则不进行操作 if (currentIndex >= myPages.Count - 1) return; // 隐藏当前元素 if (myPages[currentIndex] != null) myPages[currentIndex].SetActive(false); currentIndex++; // 显示下一个元素 if (myPages[currentIndex] != null) myPages[currentIndex].SetActive(true); } /// /// 切换到上一个元素 /// public void Previous() { if (myPages == null || myPages.Count == 0) return; // 如果是第一个元素,则不进行操作 if (currentIndex <= 0) return; // 隐藏当前元素 if (myPages[currentIndex] != null) myPages[currentIndex].SetActive(false); currentIndex--; // 显示上一个元素 if (myPages[currentIndex] != null) myPages[currentIndex].SetActive(true); } public Enter181Page enter181; void ResetPage(List targets) { DeactivateAllObjects(myPages); } public void DeactivateAllObjects(List targetObjects) { foreach (var obj in targetObjects.Where(obj => obj != null)) { obj.SetActive(false); //foreach (Transform child in obj.transform) //{ // child.gameObject.SetActive(false); //} } } }