using UnityEngine; using AX.Network.Protocols; using AX.NetworkSystem; using System.Collections.Generic; using System; public class ANSWER_SAVE_REPLY : NetworkMessageBehaviour { //public static event EventHandler ExamOverEvent; private List answerList = new List(); protected override void Execute(BinaryMessage message) { var answer = message.Body.Deserialize(); if (answer.ExaminationID == GetComponent().Exam.ID) { answerList.Add(answer); if(answerList.Count== BaseItemManager.AnswerList.Count) { UpLoadFiles(); } } } private void UpLoadFiles() { var filelist = new List(); for (int i = 0; i < answerList.Count; i++) { var filename = "Answers/" + answerList[i].ID + "/" + answerList[i].FilePath;//// filelist.Add(filename); } string[] files = filelist.ToArray(); //上传文件 if (files.Length > 0) { if (GameObject.Find("FileTransTipWindow"))//如果已经存在文件传输窗口,不再相应 return; GameObject FileTransTipWin = Instantiate(Resources.Load("UIPrefab/FileTransTipWin")); FileTransTipWin.GetComponent().SetWindow( "UpLoad", files, TransferType.Upload); FileTransTipWinManager.task.TransferTaskCompleted += Task_TransferTaskCompleted; } } private void Task_TransferTaskCompleted() { FileTransTipWinManager.task.TransferTaskCompleted -= Task_TransferTaskCompleted; for(int i = 0; i < answerList.Count; i++) { NetworkManager.Default.SendRequestAsync("ANSWER_INSERTORUPDATE_REQUEST", answerList[i]);//数据库插入答案记录的请求 } BaseItemManager.AnswerList.Clear();//清空待上传答案列表 answerList.Clear(); ExamOver(); } public void ExamOver() { transform.Find("StartAnswerQuestionButton").gameObject.SetActive(false);//.GetComponent