You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.9 KiB
93 lines
2.9 KiB
using UnityEngine; |
|
using System.Collections; |
|
using UnityEngine.UI; |
|
using System.IO; |
|
using System; |
|
using AX.MessageSystem; |
|
|
|
public abstract class BaseSubItemManager : MonoBehaviour { |
|
|
|
protected Text QuestionNameText; |
|
[HideInInspector] |
|
public Toggle QuestionToggle; |
|
protected QuestionInfo question; |
|
|
|
public QuestionInfo Question |
|
{ |
|
set |
|
{ |
|
question = value; |
|
QuestionNameText.text = question.Name; |
|
QuestionToggle.group = transform.parent.GetComponent<ToggleGroup>(); |
|
|
|
} |
|
get |
|
{ |
|
return question; |
|
} |
|
} |
|
void Awake() |
|
{ |
|
QuestionNameText = transform.Find("Name").GetComponent<Text>(); |
|
QuestionToggle = transform.Find("Toggle").GetComponent<Toggle>(); |
|
|
|
//transform.GetComponentInParent<ExamItemManager>(); |
|
ButtonInit(); |
|
MessageDispatcher.AddListener("ToggleFalse", ToggleFalse); |
|
MessageDispatcher.AddListener("ToggleTrue", ToggleTrue); |
|
} |
|
|
|
private void ToggleTrue(IMessage message) |
|
{ |
|
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>(); |
|
if (manager.Exam.ID == (long)message.Sender && question.ID == (long)message.Data) |
|
{ |
|
QuestionToggle.isOn = true; |
|
} |
|
} |
|
|
|
void OnDestroy() |
|
{ |
|
MessageDispatcher.RemoveListener("ToggleFalse", ToggleFalse); |
|
MessageDispatcher.RemoveListener("ToggleTrue", ToggleTrue); |
|
} |
|
|
|
private void ToggleFalse(IMessage message) |
|
{ |
|
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>(); |
|
if (manager.Exam.ID == (long)message.Sender && question.ID == (long)message.Data) |
|
{ |
|
QuestionToggle.isOn = true; |
|
} |
|
else |
|
{ |
|
QuestionToggle.isOn = false; |
|
} |
|
} |
|
|
|
public abstract void ButtonInit(); |
|
|
|
public void OnToggleChange() |
|
{ |
|
var manager = transform.parent.parent.parent.parent.parent.GetComponent<BaseItemManager>(); |
|
if (GameObject.Find("Canvas").transform.Find("时间轴") && GameObject.Find("Canvas").transform.Find("时间轴").gameObject.activeInHierarchy |
|
&& ExamInfoHelpClass.loadSceneMode== ExamInfoHelpClass.LoadSceneMode.MakeScore) |
|
{ |
|
manager.CurSelectedTrans.GetComponent<BaseSubItemManager>().QuestionToggle.isOn = true; |
|
MessageDispatcher.SendMessage("Operatinghints", (object)"请先选择保存或者丢弃当前评分"); |
|
return; |
|
} |
|
|
|
if (QuestionToggle.isOn) |
|
{ |
|
MessageDispatcher.SendMessage(manager.Exam.ID, "ToggleFalse", (object)question.ID); |
|
//当前选中的项 |
|
Debug.Log(question.Name); |
|
manager.Question = question; |
|
manager.CurSelectedTrans = transform; |
|
} |
|
CheckIfHasAnswer(); |
|
} |
|
public abstract void CheckIfHasAnswer(); |
|
|
|
}
|
|
|