using System.Collections; using System.Collections.Generic; using UnityEngine; using RDate; using UnityEngine.UI; using UnityEngine.EventSystems; using static InterfaceManager; /// /// 复盘回放 /// public class DropdownDouble : MonoBehaviour, IPointerClickHandler { private Dropdown dropdown; public string Label; /// /// 详细数据 /// public RDate.DataItem dataItem = new RDate.DataItem(); /// /// /// public Traininginformation traininginformation = new Traininginformation(); /// /// 房间数据 /// private RSData.SubjectInfo subjectInfo = new RSData.SubjectInfo(); /// /// 房间科目 /// public List subjectInfos =new List(); private void Awake() { } // Start is called before the first frame update void Start() { //Debug.Log(Label.text); dropdown = GetComponent(); dropdown.onValueChanged.AddListener(OnDropdownValueChanged); //dropdown.onPointerClick.AddListener(OnDropdownPointerClick); traininginformation = JsonUtility.FromJson(dataItem.ThinkingData); for(int i=0;i< traininginformation.subjectsInfo.Count; i++) { dropdown.AddOptions(new List { Label + "_" + traininginformation.subjectsInfo[i].subjectName }); } string url = Url_QueryPracticeSeat + dataItem.Id; //Debug.Log(url); StartCoroutine(GetString(url, data => { Debug.Log(data); subjectInfo = JsonUtility.FromJson(data); string[] strings =new string[subjectInfo.data.Count]; for (int i=0;i< subjectInfo.data.Count; i++) { strings[i] = subjectInfo.data[i].PracticeSubjectId; } HashSet uniqueStrings = new HashSet(); foreach (string str in strings) { uniqueStrings.Add(str); } Debug.Log("不同的字符串数量为:" + uniqueStrings.Count); foreach (string str in uniqueStrings) { Debug.Log(str); RSData.SubjectInfo _currentSubjectInfo = new RSData.SubjectInfo(); List _data = subjectInfo.data.FindAll(x => x.PracticeSubjectId == str); _currentSubjectInfo.data = _data; subjectInfos.Add(_currentSubjectInfo); } Debug.Log(transform.GetSiblingIndex()); if (transform.GetSiblingIndex() == 1) { Debug.Log("初始化"); PointerClick(); } })); } // 选项值改变事件 private void OnDropdownValueChanged(int optionIndex) { Debug.Log("Dropdown value 1: " + optionIndex); DoublePlayMain.instance.doublePlayIntroduceList.IntroduceListShow(dataItem, traininginformation, optionIndex, subjectInfos[optionIndex]); DoublePlayMain.instance.doublePlayEvaluatePanel.DoublePlayEvaluatePanelShow(dataItem, traininginformation, optionIndex, subjectInfos[optionIndex]); DoublePlayMain.instance.videolistmanager._name = dataItem.Id; //DoublePlayMain.instance.videolistmanager.VideoMain(); } // 单击事件 public void OnPointerClick(PointerEventData eventData) { PointerClick(); //DoublePlayMain.instance.videolistmanager.VideoMain(); } void PointerClick() { Debug.Log("Dropdown value 2: " + dropdown.value); DoublePlayMain.instance.doublePlayIntroduceList.IntroduceListShow(dataItem, traininginformation, dropdown.value, subjectInfos[dropdown.value]); DoublePlayMain.instance.doublePlayEvaluatePanel.DoublePlayEvaluatePanelShow(dataItem, traininginformation, dropdown.value, subjectInfos[dropdown.value]); DoublePlayMain.instance.videolistmanager._name = dataItem.Id; } }