using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using GCGame.Table; public class ImperialOrderPanelCtr : MonoBehaviour { public static ImperialOrderPanelCtr Instance; void Awake() { Instance = this; } private void OnDestroy() { Instance = null; } public List answerList; public List markList; public List rightOrWrongIconList; public Text questionDesc; public List anserDescList; public GameObject markPanel; public Sprite rightIcon; public Sprite wrongIcon; private Tab_QuestionBank bank = null; private int rightAnswerIndex = -1; public void InitQuestionInfo(int questionId) { bank = TableManager.GetQuestionBankByID(questionId, 0); if(bank != null) { questionDesc.text = bank.QuestionDesc; for(int index = 0; index < answerList.Count; index++) { anserDescList[index].text = bank.GetAnswerbyIndex(index); } } if (markPanel.activeInHierarchy) { markPanel.gameObject.SetActive(false); } HideAllAnswerIcon(); GetRightAnswer(); } public void HideAllAnswerIcon() { for (int index = 0; index < rightOrWrongIconList.Count; index++) { rightOrWrongIconList[index].gameObject.SetActive(false); } } public void GetRightAnswer() { string answer = bank.RightAnswer; switch(answer) { case "A": rightAnswerIndex = 0; break; case "B": rightAnswerIndex = 1; break; case "C": rightAnswerIndex = 2; break; default: rightAnswerIndex = 3; break; } } public void OnAnswerClick(int answer) //0A 1B 3C 4D { //设置CheckMark for (int index = 0; index < answerList.Count; index++) { markList[index].gameObject.SetActive(index == answer); } //显示正确错误的答案 for (int index = 0; index < rightOrWrongIconList.Count; index++) { rightOrWrongIconList[index].gameObject.SetActive(true); rightOrWrongIconList[index].overrideSprite = (index == rightAnswerIndex ? rightIcon : wrongIcon); rightOrWrongIconList[index].SetNativeSize(); answerList[index].gameObject.GetComponent