using System; using System.Collections; using System.Collections.Generic; using System.Text; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; public class UIChooseStudent : UIBase { public Button save; public Transform studentContent; public Toggle studentItem; List students = new List(); StudentTestDataItem studentDataItem; private void Awake() { save.onClick.AddListener(OnSaveStudentInfo); studentDataItem = DataManager.Instance.currentSelectTest; EventCenter.dispatcher.AddListener(MsgType.OnGetStudentInfo, OnGetStudentInfo); //for (int i = 0; i < 10; i++) //{ // var go = GameObject.Instantiate(studentItem, studentContent); // go.gameObject.SetActive(true); // //学生id // go.name = "1"; // if (i % 2 == 0) // { // go.transform.Find("Label").GetComponent().text = "上官李旭" + i; // } // else // { // go.transform.Find("Label").GetComponent().text = "李旭" + i; // } // go.isOn = false; // students.Add(go); //} GetStudentInfo(); } private void OnGetStudentInfo(Message evt) { var list = DataManager.Instance.studentInfoDataItems; for (int i = 0; i < list.Count; i++) { var go = GameObject.Instantiate(studentItem, studentContent); go.gameObject.SetActive(true); //学生id go.name = list[i].id.ToString(); go.transform.Find("Label").GetComponent().text = list[i].studentName; go.isOn = false; students.Add(go); } } public void GetStudentInfo() { string url = "http://122.112.171.137:85/api/examination/projectNotExaminationStudent?roomCasesId=" + studentDataItem.roomCasesId; url = "http://122.112.171.137:85/api/examination/projectNotExaminationStudent?roomCasesId=14"; Debug.Log(url); StartCoroutine(Get(url)); } IEnumerator Get(string url) { UnityWebRequest request = UnityWebRequest.Get(url); yield return request.SendWebRequest(); if (request.isHttpError || request.isNetworkError) { Debug.LogError(request.error); } else { string receiveContent = request.downloadHandler.text; byte[] datas = Encoding.UTF8.GetBytes(receiveContent); receiveContent = Encoding.UTF8.GetString(datas, 0, datas.Length); //JsonInfo jsonInfo = JsonMapper.ToObject(receiveContent); DataParse.Instance.ParseStudentList(receiveContent); } } private void OnSaveStudentInfo() { DataManager.Instance.currentSelectStudent = FindStudentSelect(); string json = "{\"roomCasesId\":"+ DataManager.Instance.currentSelectTest.roomCasesId + ",\"id\":"+ DataManager.Instance.currentSelectStudent.id + "}"; //string str = string.Format(json, DataManager.Instance.currentSelectTest.roomCasesId, DataManager.Instance.currentSelectStudent.id); //string json = "{roomCasesId:" + DataManager.Instance.currentSelectTest.roomCasesId + ",id:" + DataManager.Instance.currentSelectStudent.id + "}"; Debug.Log(json); StartCoroutine(DataManager.Instance.PostData("http://122.112.171.137:85/api/examination/bindStudentExamCases", json)); //DataManager.Instance.PostData("http://122.112.171.137:85/api/examination/bindStudentExamCases", json); //保存考试学生信息进入场景 UIManager.Instance.CloseUI(UIType.UIChooseStudent); UIManager.Instance.OpenUI(UIType.UIPeopleProgress); } StudentInfoDataItem FindStudentSelect() { for (int i = 0; i < students.Count; i++) { if (students[i].isOn) { int id = int.Parse(students[i].name); var list = DataManager.Instance.studentInfoDataItems; for (int j = 0; j < list.Count; j++) { if (list[j].id == id) { return list[j]; } } } } return null; } }