using System.Collections; using System.Collections.Generic; using TMPro; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class SelectScenePanel : MonoBehaviour { public GameObject schoolPrefab;//滑动视图预制体 public Transform schoolList;//预制体列表 public ToggleGroup schooltoggleGroup; public ToggleGroup schoolimageGroup; public Toggle[] toggleList; public GameObject scoolSelectBtn;//学校选择按钮 public GameObject schoolChoiceLable;//学校选择界面 public GameObject eventChoiceLable;//事件选择界面 public bool isOpen = false; public List schoolInfos = new List();//学校信息 public List eventInfos = new List();//事件信息 public List difficultyList = new List(); public Button continueBtn; //数据 public int schoolId; public string schoolName; public int eventId; public string eventName; public string difficulty; // Start is called before the first frame update void Start() { schoolChoiceLable.gameObject.SetActive(true); eventChoiceLable.gameObject.SetActive(false); //动态加载学校选择预制体 for (int i=0;i<6;i++) { GameObject slot = GameObject.Instantiate(schoolPrefab, schoolList); //schoolPrefab.gameObject.GetComponent().sprite = Resources.Load(""); Toggle toggle = slot.GetComponent(); if (toggle != null) { // 将 Toggle 添加到 ToggleGroup 中 toggle.group = schoolimageGroup; // 将 Toggle 添加到 toggleList 中 toggleList[i] = toggle; } } continueBtn.onClick.AddListener(OnClickContinueBtn); } // Update is called once per frame void Update() { } //学校选择,确定学校信息 public void SelectSchoolBtn() { SchoolInfo gameObject = GetComponentInChildren(); foreach (SchoolInfo item in schoolInfos) { if(item.gameObject.transform.GetComponent().isOn) { this.schoolId = item.schoolId; this.schoolName = item.schoolName; } } //Debug.Log("###############1:"+ this.schoolId); //Debug.Log("###############2:" + this.schoolName); } //事件及难度选择 public void SelectEvent() { EventInfo eventInfo = GetComponentInChildren(); foreach(EventInfo item in eventInfos) { if (item.gameObject.transform.GetComponent().isOn) { this.eventId = item.eventId; this.eventName = item.eventName; } } //Debug.Log("%%%%%%%%%%%%%1:"+ this.eventId); //Debug.Log("%%%%%%%%%%%%%2:" + this.eventName); } //游戏难度选择 public void SelsctDifficulty() { auth_createTemplate auth_CreateTemplate = new auth_createTemplate(); foreach(Toggle item in difficultyList) { if (item.isOn) { this.difficulty = item.transform.parent.GetComponentInChildren().text; auth_CreateTemplate.mode = this.difficulty;//给结构体“难度”赋值 } } //Debug.Log("%%%%%%%%%%%%%3:" + this.difficulty); } //继续按钮,点击后上传数据 public void OnClickContinueBtn() { SelectSchoolBtn(); schoolChoiceLable.gameObject.SetActive(false); eventChoiceLable.gameObject.SetActive(true); } //提交按钮,点击上传数据和隐藏界面 public void SubmitBtn() { SelectEvent(); SelsctDifficulty(); this.gameObject.SetActive(false); } //通过判断Toggle的IsOn是否被打开来判断继续按钮是否置灰 public void IsClick() { bool anyToggleSelected = false; //continueBtn.transform.parent foreach (Toggle toggle in toggleList) { if (toggle.isOn) { anyToggleSelected = true; break; // 如果有一个 Toggle 被选中,停止检查 } } // 获取 ContinueBtn 按钮组件 // 根据是否有 Toggle 被选中,设置 ContinueBtn 是否可交互 if (continueBtn != null) { continueBtn.interactable = anyToggleSelected; // 如果有选中的 Toggle,继续按钮可交互,否则不可交互 } else { Debug.LogError("ContinueBtn 按钮组件未找到!"); } } }