ISAP/Assets/Scripts/UI/UIChooseStudent.cs

122 lines
4.2 KiB
C#

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<Toggle> students = new List<Toggle>();
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>().text = "ÉϹÙÀîÐñ" + i;
// }
// else
// {
// go.transform.Find("Label").GetComponent<Text>().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>().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<JsonInfo>(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;
}
}